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
Ïà¹ØÎĵµ£º
Python-String-Function
×Ö·û´®ÖÐ×Ö·û´óСдµÄ±ä»»£º
* S.lower() #Сд
* S.upper() #´óд
* S.swapcase() #´óСд»¥»»
* S.capitalize() #Ê××Öĸ´óд
&n ......
Ê×ÏÈÒª¸ãÇå³þ£¬×Ö·û´®ÔÚPythonÄÚ²¿µÄ±íʾÊÇunicode±àÂ룬Òò´Ë£¬ÔÚ×ö±àÂëת»»Ê±£¬Í¨³£ÐèÒªÒÔunicode×÷ΪÖмä±àÂ룬¼´ÏȽ«ÆäËû±àÂëµÄ×Ö·û´®½âÂ루decode£©³Éunicode£¬ÔÙ´Óunicode±àÂ루encode£©³ÉÁíÒ»ÖÖ±àÂë¡£
decodeµÄ×÷ÓÃÊǽ«ÆäËû±àÂëµÄ×Ö·û´®×ª»»³Éunicode±àÂ룬Èçstr1.decode('gb2312')£¬±íʾ½«gb2312±àÂëµÄ×Ö· ......
Google½«ÏÞÖÆPythonÓïÑÔµÄÓ¦Óà ¿ª·¢ÉçÇøÈÈÒé
¸ÐлÂ̲ÝÐǿյÄͶµÝ
ÐÂÎÅÀ´Ô´:CSDN
Collin WinterÊÇPythonÉçÇøÒ»Î»ÆÄ¾ßÓ°ÏìÁ¦µÄ¿ª·¢Õߣ¬ËûÔøÊÇCPythonÏîÄ¿µÄºËÐÄ¿ª·¢ÕßÖ®Ò»¡¢Ò²ÔøÊÇUnladen Swallow£¨¼ûÎÄĩעÊÍ£©µÄºËÐÄ¿ª·¢Õߣ¬²ÎÓëÁ˺ܶàPythonÏîÄ¿µÄ¿ª·¢¡£½üÀ´´«ÎÅGoogle½«ÔÚÆäÐÂÏîÄ¿ÖÐÏÞÖÆPythonµÄʹÓã¬Îª´ËÓп ......
Ϊ³äʵ×Ô¼ºÄÇÆ½Ó¹µÄ֪ʶ¿â£¬´Ó½ñÌ쿪ʼ£¬Ñ§Ï°PythonÓïÑÔ¡£ Ì«¸ßÉîµÄ×ÊÁÏ¿´²»¶®£¬µ±Á˱¾×î¼òµ¥µÄPython¼òÃ÷½Ì³Ì£¬ÖÐÎİæchm¸ñʽµÄ¡£²»Ëµ·Ï»°ÁË£¬¿ªÊ¼½øÈëPythonµÄÊÀ½ç°É¡£ £¨Ò»£©°²×°Python дÕâÆªÎÄÕÂʱ£¬PythonµÄ×îа汾ÊÇ3.1£¬ÎÒϲ»¶ÓÃ×îÐµģ¬¾ÍÏÂÁËа汾µÄ¡£Ò»Â·NextÏÂÈ¥£¬ÎÒµÄC ......
>>> class objA:
... pass
...
>>> A = objA()
>>> B = 'a','V'
>>> B
('a', 'V')
>>> C = 'a string'
>>> print instance(A,objA)
Traceback (most recent call last):
File "<stdin>", line 1, in < ......