Files
2025-05-20 11:57:43 -04:00

23 lines
532 B
Python

import contextlib
import sys
from typing import Any
from typing import List
from typing import Optional
PY38 = sys.version_info >= (3, 8)
def decode(string: Any, encodings: Optional[List[str]] = None):
if not isinstance(string, bytes):
return string
encodings = encodings or ["utf-8", "latin1", "ascii"]
for encoding in encodings:
with contextlib.suppress(UnicodeEncodeError, UnicodeDecodeError):
return string.decode(encoding)
return string.decode(encodings[0], errors="ignore")