gpt4 book ai didi

python - 解码十六进制 UTF-8 字符

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:55 25 4
gpt4 key购买 nike

我有以下由 Apache 生成的错误代码:

\xed\xe5 \xff\xb\xff\xe5\xf2\xf1\xff \xef\xf0\xe8\xeb\xee\xe6\xe5\xed\xe8\xe5\xec

我发现 \x 转义序列声明以下两个字符是 UTF 十六进制符号。例如,单词 HELLO 可以编码为 \x48\x45\x4C\x4C\x4F。但我似乎无法弄清楚如何解码我拥有的字符串?我搜索了 UTF 编码表,但没有找到任何与我所拥有的编码符号相匹配的字符。我什至不知道我应该寻找一个字节还是两个字节的编码。

我在使用俄语语言环境的 PC 上,如果有帮助的话。

最佳答案

看起来你的字符串是 cp-1251 编码的:

s.decode('string_escape').decode('cp1251')

打印一些看起来有意义的东西(除了 \xb 不正确 - 复制粘贴错误?):

s = r'\xed\xe5 \xff?xb\xff\xe5\xf2\xf1\xff \xef\xf0\xe8\xeb\xee\xe6\xe5\xed\xe8\xe5\xec'

s = s.decode('string_escape').decode('cp1251')
#не я?xbяется приложением

I don't even know should I be looking for one byte or 2 bytes encodings.

这是chardet的地方前来救援:

import chardet

s = r'\xed\xe5 \xff?xb\xff\xe5\xf2\xf1\xff \xef\xf0\xe8\xeb\xee\xe6\xe5\xed\xe8\xe5\xec'

print chardet.detect(s.decode('string_escape'))
# {'confidence': 0.99, 'encoding': 'windows-1251'}

如果你不懂python,你也可以使用javascript,例如http://jsfiddle.net/L3Z4b/

关于python - 解码十六进制 UTF-8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24265341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com