读书人

python 编码转换有关问题

发布时间: 2013-03-25 15:43:04 作者: rapoo

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,三字节

读书人网 >perl python

热点推荐