@Xe1ga

Как получить unicode строку из строки hex?

Есть hex-строка в БД. Необходимо расшифровать ее.
Строка большая, я прилагаю только часть ее "0x308218D806092A"
if __name__ == "__main__":
# sReverseHex = reverse_str(s[2:])
sByte = bytearray.fromhex(s[2:])
# print (chardet.detect(sByte))
sResult = sByte.decode("utf-16-be")
print(sResult)

код приводит к ошибке UnicodeDecodeError: 'utf16' codec can't decode bytes in position 1326-1327: illegal UTF-16 surrogate

Кодировки испробованы разные. chardet.detect(sByte) дал результат
{'confidence': 0.0, 'language': None, 'encoding': None}
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Есть стандартный модуль bas64. В его составе есть функции b16encode и b16decode.
Это правильный способ закодировать и раскодировать строку в hex и обратно.
Если у вас это было сделано иначе, то нужно разбираться как было закодировано.
Поэтому я и спросил откуда берется строка и просил привести пример побольше, чем то, что вы написали.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы