Python 2.7 编码问题

环境win7平台:idleshell问题:为什么单个汉字解码打印就完全一样,但是组合起来的'东方明珠'就乱码了?我很郁闷,因为我想做一个全部汉字的映射表,比如'涓沧柟鏄庣... 环境 win7
平台:idle shell
问题:为什么单个汉字解码打印就完全一样,但是组合起来的'东方明珠'就乱码了?
我很郁闷,因为我想做一个全部汉字的映射表,比如'涓沧柟鏄庣彔'对应'东方明珠'...

>>> print '东'.decode('gb18030').encode('u8')

>>> print '方'.decode('gb18030').encode('u8')

>>> print '明'.decode('gb18030').encode('u8')

>>> print '珠'.decode('gb18030').encode('u8')

>>> print '东方明珠'.decode('gb18030').encode('u8')
涓沧柟鏄庣彔
展开
 我来答
duckyzw
2013-08-11 · TA获得超过586个赞
知道小有建树答主
回答量:468
采纳率:0%
帮助的人:391万
展开全部
不要用任何shell测试python编码,因为windows下很多shell自身没有处理好编码问题。应该先把代码写到文件里,代码的第一行务必声明文件的编码,然后执行。
还有,这个乱码不是逐字对应的。GB2312/GBK/GB18030中汉字通常是2字节,UTF-8(u8)中汉字通常是3字节。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式