中文乱码问题
2019-01-15 本文已影响10人
夕阳下的不回头
首先搞清楚 encode decode 这两个东西
特别注意的是 str这个对象没有decode方法
因此你必须先encode了以后再decode
str--->(encode)--->bytes,bytes--->(decode)--->str
他们的关系是这样的 bytes你可以理解为这样的字节码
\xe5\x95\x8a\xe5\x93\x88\xe5\x93\x88\xe5\x93\x88 这样的东西就是字节码
我们要做的是把str对象用encode转化为字节码
然后再把字节码用decode转化为我们想要的任何一种编码
这里注意了 如果你一开始的对象是个字符串 那么解码的时候直接用decode不需要带任何的参数
因为:
Python decode() 方法以 encoding 指定的编码格式解码字符串。默认编码为字符串编码。

图中wifi_info.ssid就是一个字符串对象 我先对他用encode 编码格式是unicode
然后再对他解码 解出来的时候不要带任何参数 记住别带 你解码带回去unicode你就石乐志 还是乱码
这个地方应该是decode成你需要的编码格式 虽然我很懵逼 不知道为毛不需要带参数 可能他给你适应好了。。。
