This commit is contained in:
Iliyan Angelov
2025-12-01 06:50:10 +02:00
parent 91f51bc6fe
commit 62c1fe5951
4682 changed files with 544807 additions and 31208 deletions

View File

@@ -0,0 +1,22 @@
from __future__ import annotations
import contextlib
import sys
from typing import Any
PY38 = sys.version_info >= (3, 8)
def decode(string: Any, encodings: list[str] | None = 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")