首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python 编码转换有关问题

2013-03-25 
python 编码转换问题#codinggbkusu\xd0\xd0print us.encode(gbk)其中u\xd0\xd0对应的中文是行。

python 编码转换问题

#coding=gbk
us=u'\xd0\xd0'
print us.encode('gbk')


其中u'\xd0\xd0'对应的中文是'行'。
我想转换为str的字符串,但是提示以下错误:
UnicodeEncodeError: 'gbk' codec can't encode character u'\xd0' in position 0: illegal multibyte sequence

请问怎么才能转换?

就在8点20分发。 python character codec
[解决办法]
楼主理解错误,,
任何字符都可以用unicode表示,,所以u'行'就是表示行.
而要转换成别的编码,则用encode就行了.

"行"的gbk编码就是字符串'\xd0\xd0'.....  和你写的u'\xd0\xd0'是不同的.
[解决办法]
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> us=u'\xd0\xd0'
>>> us
u'\xd0\xd0'
>>> print us.encode('raw-unicode-escape')

>>>
 
[解决办法]
引用:
楼主理解错误,,
任何字符都可以用unicode表示,,所以u'行'就是表示行.
而要转换成别的编码,则用encode就行了.

"行"的gbk编码就是字符串'\xd0\xd0'.....  和你写的u'\xd0\xd0'是不同的.


这个在理
其实\xd0\xd0前面+u是有点牛头不对马嘴,实际上程序就理解为两个d0的ASCII字符了
两个d0的字符只有在gbk才是“行”,在utf-8就是两个字符
“行”在utf-8是\xe8\xa1\x8c,三字节

热点排行