首页 > 解决方案 > 关于 python 3 在十六进制字符串转换中的问题

问题描述

当我尝试对十六进制值进行字符串化时,我发现 python 3.6.7 存在问题。字符串中的原始十六进制数被错误地转换为 acsii 字母 Ë。有没有办法解决这个问题?

>>>  '\xcb\x85\x04\x08'
'Ë\x85\x04\x08'

标签: pythonstringhex

解决方案


您正在使用 ascii 代码之外的字符。如果您尝试使用 unicode,请使用\u____.

print("\xCB\x85\x04\x08")
print("\uCB89\u0408")

输出:

Ë

쮉Ј

您可以在asciitable.com找到一个 ascii 表。由于许多国家/地区使用存储在其通用语言中有用的额外字符(例如俄罗斯的俄语字符),00-7F 范围之外的字符会因地区而异。


推荐阅读