【发布时间】:2020-06-18 15:32:33
【问题描述】:
我有一个关于python3中字符串转换的小问题。
s = '\x001\x002\x001\x000\x005\x005\x000\x004\x000\x000\x00'
print(s) -> 给出输出:
1 2 1 0 5 5 0 4 0 0
但是,当我尝试使用以下方法转换字符串时:
bytes(s, 'utf16').decode('utf16') ,我得到 '\x001\x002\x001\x000\x005\x005\x000\x004\x000\x000\x00'。
以编程方式获得与 print(s) 相同的输出的方法是什么?
【问题讨论】:
-
顺便说一句:第二个变种是错误的。它不是 UTF16(而是 UTF16BE)
-
似乎 utf-16 也可以。 realpython.com/python-encodings-guide
-
有趣,我没想到
'\x00'会打印为空白。
标签: python string encoding character-encoding