python编码:gbk编码与解码

从RF输入的中文会进行unicode编码:u'\u6587\u4ef6\u5230\u8fbe\u6210\u529f'

从orc数据库查询到的中文会进行gbk编码得到ASCII:'\xce\xc4\xbc\xfe\xb5\xbd\xb4\xef\xb3\xc9\xb9\xa6'

ASCII编码数据进行decode('gbk')后得到unicode编码的数据;

unicode编码的数据encode('gbk')后得到gbk编码数据ASCII;

 更详细的内容见:http://www.2cto.com/kf/201407/317866.html

gbk编码与解码:

>>> a='\xce\xc4\xbc\xfe\xb5\xbd\xb4\xef\xb3\xc9\xb9\xa6' 
>>> a
'\xce\xc4\xbc\xfe\xb5\xbd\xb4\xef\xb3\xc9\xb9\xa6'
>>> b=a.decode('gbk') #gbk解码,得到的是unicode对象
>>> b
u'\u6587\u4ef6\u5230\u8fbe\u6210\u529f'
>>> print u'\u6587\u4ef6\u5230\u8fbe\u6210\u529f'
文件到达成功
>>> c=b.encode('gbk') #gbk编码,得到的是ASCII对象
>>> c
'\xce\xc4\xbc\xfe\xb5\xbd\xb4\xef\xb3\xc9\xb9\xa6'
>>> a==c
True
>>> print c
文件到达成功
>>>
>>> print a.decode('utf-8')

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    print a.decode('utf-8')
  File "D:\Python27\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xce in position 0: invalid continuation byte

 utf8编码与解码:

>>> a=u'10'
>>> b=10
>>> a
u'10'
>>> b
10
>>> c='10'
>>> c
'10'
>>> b==c
False
>>> a==c
True
>>> a==b
False
>>> aint=int(a)
>>> aint
10
>>> astr=a.encode('utf8')
>>> astr
'10'
>>> 

 

posted @ 2016-08-10 11:27  垄上行  阅读(12069)  评论(0编辑  收藏  举报