Python×Ö·û´®µÄencodeÓëdecode
Ê×ÏÈÒª¸ãÇå³þ£¬×Ö·û´®ÔÚPythonÄÚ²¿µÄ±íʾÊÇunicode±àÂ룬Òò´Ë£¬ÔÚ×ö±àÂëת»»Ê±£¬Í¨³£ÐèÒªÒÔunicode×÷ΪÖмä±àÂ룬¼´ÏȽ«ÆäËû±àÂëµÄ×Ö·û´®½âÂ루decode£©³Éunicode£¬ÔÙ´Óunicode±àÂ루encode£©³ÉÁíÒ»ÖÖ±àÂë¡£
decodeµÄ×÷ÓÃÊǽ«ÆäËû±àÂëµÄ×Ö·û´®×ª»»³Éunicode±àÂ룬Èçstr1.decode('gb2312')£¬±íʾ½«gb2312±àÂëµÄ×Ö·û´®×ª»»³Éunicode±àÂë¡£
encodeµÄ×÷ÓÃÊǽ«unicode±àÂëת»»³ÉÆäËû±àÂëµÄ×Ö·û´®£¬Èçstr2.encode('gb2312')£¬±íʾ½«unicode±àÂëµÄ×Ö·û´®×ª»»³Égb2312±àÂë¡£
ÔÚijЩIDEÖУ¬×Ö·û´®µÄÊä³ö×ÜÊdzöÏÖÂÒÂ룬ÉõÖÁ´íÎ󣬯äʵÊÇÓÉÓÚIDEµÄ½á¹ûÊä³ö¿ØÖÆÌ¨×ÔÉí²»ÄÜÏÔʾ×Ö·û´®µÄ±àÂ룬¶ø²»ÊdzÌÐò±¾ÉíµÄÎÊÌâ¡£
ÈçÔÚUliPadÖÐÔËÐÐÈçÏ´úÂ룺
s=u"ÖÐÎÄ"
print s
»áÌáʾ£ºUnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)¡£ÕâÊÇÒòΪUliPadÔÚÓ¢ÎÄWindowsXP
ÉϵĿØÖÆÌ¨ÐÅÏ¢Êä³ö´°¿ÚÊǰ´ÕÕascii±àÂëÊä³öµÄ£¨Ó¢ÎÄϵͳµÄĬÈϱàÂëÊÇascii£©£¬¶øÉÏÃæ´úÂëÖеÄ×Ö·û´®ÊÇUnicode±àÂëµÄ£¬ËùÒÔÊä³öʱ²úÉúÁË´íÎó¡£
½«×îºóÒ»¾ä¸ÄΪ£ºprint s.encode('gb2312')
ÔòÄÜÕýÈ·Êä³ö“ÖÐÎÄ”Á½¸ö×Ö¡£
Èô×îºóÒ»¾ä¸ÄΪ£ºprint s.encode('utf8')
ÔòÊä³ö£º\xe4\xb8\xad\xe6\x96\x87£¬ÕâÊÇ¿ØÖÆÌ¨ÐÅÏ¢Êä³ö´°¿Ú°´ÕÕascii±àÂëÊä³öutf8±àÂëµÄ×Ö·û´®µÄ½á¹û¡£
Updated at: 2008.11.05
ÁíÍ⣬´úÂëÖÐ×Ö·û´®µÄĬÈϱàÂëÓë´úÂëÎļþ±¾ÉíµÄ±àÂëÒ»Ö£¬È磺
s='ÖÐÎÄ'
Èç
¹ûÊÇÔÚutf8µÄÎļþÖУ¬¸Ã×Ö·û´®¾ÍÊÇutf8±àÂ룬Èç¹ûÊÇÔÚgb2312µÄÎļþÖУ¬ÔòÆä±àÂëΪgb2312¡£
ÕâÖÖÇé¿öÏ£¬Òª½øÐбàÂëת»»£¬¶¼ÐèÒªÏÈÓÃdecode·½·¨½«Æäת»»³Éunicode±àÂ룬ÔÙʹÓÃencode·½·¨½«Æäת»»³ÉÆäËû±àÂ롣ͨ³££¬ÔÚûÓÐÖ¸¶¨ÌØ
¶¨µÄ±àÂ뷽ʽʱ£¬¶¼ÊÇʹÓõÄϵͳĬÈϱàÂë´´½¨µÄ´úÂëÎļþ£¬ÔÚÕâÆªÎÄÕÂ
ÖпÉÒÔ¿´µ½ÈçºÎ»ñµÃϵͳµÄĬÈϱàÂë¡£
Èç¹û×Ö·û´®ÊÇÕâÑù¶¨Ò壺
s=u'ÖÐÎÄ'
Ôò¸Ã×Ö·û´®µÄ±àÂë¾Í±»Ö¸¶¨ÎªunicodeÁË£¬¼´pythonµÄÄÚ²¿±àÂ룬¶øÓë´úÂëÎļþ±¾ÉíµÄ±àÂëÎ޹ء£Òò´Ë£¬¶ÔÓÚÕâÖÖÇé¿ö×ö±àÂëת»»£¬Ö»ÐèÒªÖ±½ÓʹÓÃencode·½·¨½«Æäת»»³ÉÖ¸¶¨±àÂë¼´¿É¡£
Èç¹ûÒ»¸ö×Ö·û´®ÒѾÊÇunicodeÁË£¬ÔÙ½øÐнâÂëÔò½«³ö´í£¬Òò´Ëͨ³£Òª¶ÔÆä±àÂ뷽ʽÊÇ·ñΪunicode½øÐÐÅжϣº
isinstance(s, unicode) #ÓÃÀ´ÅжÏÊÇ·ñΪunicode
Ïà¹ØÎĵµ£º
·¢ÐÅÈË: TRAD (GFans), ÐÅÇø: NLP
±ê Ìâ: Ô´´£ºÊ¹ÓÃpythonµ÷ÓüÆËãËù·Ö´Ê
·¢ÐÅÕ¾: ˮľÉçÇø (Mon Nov 23 13:30:46 2009), Õ¾ÄÚ
´úÂëºÜ¼òµ¥£¬µ«ÎÒ×Ô¼ºÃþË÷ÁËÒ»ÏÂÎç,·¢³öÀ´¹²ÏíÒ»ÏÂ
°ÑÕâ¸öÎļþͬICTALAS30.DLL £¬DATAÎļþ¼Ð£¬Configure.xm l·ÅÔÚͬһ¸öĿ¼Ï¼´¿É¡£
python´úÂë
#coding:gb2312
from cty ......
http://hbszyandong.javaeye.com/blog/377199
# -*- coding: utf-
8
-*-
from datetime import
datetime
from datetime import
date
from time import
strftime
from time imp ......
ÈçÓÐһ·¾¶"e:/software/²âÊÔ.txt"
ÐèҪͨ¹ýpyhon¶Á/д "²âÊÔ.txt"Îļþ£¬¿ÉÒÔ²ÉÓÃÏÂÃæµÄ·½·¨£º
ipath = "e:/software/²âÊÔ.txt"
uipath = unicode(ipath , "utf8")
È»ºóÓÃ"uipath"¾¹ý±àÂëºóµÄ·¾¶È¥open()¼´¿É¡£
ÏÂÃæÊÇÎÒÔÚÏîÄ¿ÖÐÓÃpython¶ÁдexcelµÄÒ»µãÌå»á(½â¾öÁ˶ÁÖÐÎÄÎļþà ......
ÕâÆªÎÄÕ½²µÃ±È½ÏÇå³þpythonµÄ×Ö·û´®±àÂëÎÊÌâ
ÔÎijö´¦:http://hi.baidu.com/yobin/blog/item/894158b575090dcb37d3ca07.html
------------------------------------------------------------------
×Ö·û´®±àÂë
pythonÖÐĬÈϱàÂëÊÇASCII£¬¿ÉÒÔͨ¹ýÒÔÏ·½Ê½ÉèÖúͻñÈ¡£º
import sys
print sys.getdefa ......