從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' >>>