python2.7 中一个奇怪的编码问题,麻烦大家帮忙看一下.

2015-04-22 17:26:25 +08:00
 decken
gbk编码的字符串'say\xa1\xa1it\xa1\xa1right\xa4\xfdnow.wma'
在windows下显示效果是这样的
空格是全角空格
在Linux下显示效果是这样的



'say\xa1\xa1it\xa1\xa1right\xa4\xfdnow.wma'.decode("gbk")
直接报解码错误

去掉后面的\xa4\xf之后,可以正常解码
'say\xa1\xa1it\xa1\xa1rightdnow.wma'.decode("gbk")

现在的问题是是如何将其转换成正确的unicode?
我就纳闷,同样是全角空格,怎么编码就不一样呢?
2172 次点击
所在节点    Python
5 条回复
lululau
2015-04-22 17:39:21 +08:00
GBK 里没 \xa4\xfd 这个编码

http://ff.163.com/newflyff/gbk-list/
hahastudio
2015-04-22 17:58:00 +08:00
gb18030 可以解码,但是显示的不对
hahastudio
2015-04-22 17:59:47 +08:00
Big5 里
\xa4\xfd 对应 “王”
decken
2015-04-22 18:53:27 +08:00
@lululau 奇怪的是在Win下却是显示成全角空格的
vibbow
2015-04-22 18:55:42 +08:00
@decken Windows处理乱七八糟的编码问题估计已经处理习惯了。

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

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

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

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

© 2021 V2EX