python3 编码转换问题

2019-09-29 23:15:33 +08:00
 akura

b'\xe9'用 py3 如何转换成中文,处理了一个晚上也处理不了这双斜杠的问题!

3675 次点击
所在节点    Python
11 条回复
wevsty
2019-09-29 23:19:45 +08:00
b'\xe9'不是一个完整的字符序列啊,没办法处理。
akura
2019-09-29 23:21:44 +08:00
@wevsty 不止,我只是截取前面的一个,还有是双斜杠的,这里只显示一个斜杠
akura
2019-09-29 23:26:25 +08:00
@wevsty 单斜杠是直接调用 encode('utf8') 但是双斜杠不懂怎么处理
akura
2019-09-29 23:28:40 +08:00
@akura 写错了, 是 decode 才对
akura
2019-09-29 23:31:30 +08:00
完整的是,双反斜杠,b'\\xe9\\xe8\\xbf'
momocraft
2019-09-29 23:33:38 +08:00
你知道这串字节在哪个编码下是中文吗?
akura
2019-09-29 23:40:56 +08:00
@momocraft 这个如果单反斜杠的话 变量直接调用. decode('utf8') 可以显示中文,但是双反斜杠不知怎么处理才好
Juszoe
2019-09-29 23:50:04 +08:00
有点繁琐,看看有没更好的
``` python
from binascii import a2b_hex
a2b_hex(b'\\xe6\\x98\\xaf'.replace(b'\\x', b'')).decode()
```
locoz
2019-09-29 23:58:53 +08:00
试试 str.encode().decode("unicode_escape"),如果出现乱码的话就再加上.encode("latin1").decode("utf-8")
akura
2019-09-30 00:23:04 +08:00
@locoz 已尝试,可以解决,谢谢大佬!
akura
2019-09-30 00:23:29 +08:00
@Juszoe 感谢大佬!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/605521

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX