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
Ïà¹ØÎĵµ£º
http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-pydev/Á¬½ÓÕâ¸öÍøÖ·£¬²»»áÈÃÄãʧÍûµÄ¡£
PyDev ¼ò½é
2003Äê7ÔÂ16ÈÕ£¬ÒÔ Fabio Zadrozny ΪÊ×µÄÈýÈË¿ª·¢Ð¡×éÔÚÈ«Çò×î´óµÄ¿ª·ÅÔ´´úÂëÈí¼þ¿ª·¢Æ½Ì¨ºÍ²Ö¿â SourceForge ÉÏ×¢²áÁËÒ»¿îеÄÏîÄ¿£¬¸ÃÏîĿʵÏÖÁËÒ»¸ö¹¦ÄÜÇ¿´óµÄ Eclipse²å¼þ£¬Óû§¿ÉÒÔÍêÈ«ÀûÓà Eclipse À ......
PythonÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ½âÊÍÐԵļÆËã»ú³ÌÐòÉè¼ÆÓïÑÔ£¬Ò²ÊÇÒ»ÖÖ¹¦ÄÜÇ¿´ó¶øÍêÉÆµÄͨÓÃÐÍÓïÑÔ£¬ÒѾ¾ßÓÐÊ®¶àÄêµÄ·¢Õ¹ÀúÊ·£¬³ÉÊìÇÒÎȶ¨¡£Python ¾ßÓнű¾ÓïÑÔÖÐ×î·á¸»ºÍÇ¿´óµÄÀà¿â£¬×ãÒÔÖ§³Ö¾ø´ó¶àÊýÈÕ³£Ó¦Óá£Ëü¾ßÓмòµ¥¡¢Ò×ѧ¡¢Ãâ·Ñ¡¢¿ªÔ´¡¢¿ÉÒÆÖ²ÐÔ¡¢½âÊÍÐÔ¡¢ÃæÏò¶ÔÏ󡢿ÉÀ©Õ¹ÐÔ¡¢¿ÉǶÈëÐÔÒÔ¼°·á¸»µÄ¿âµÈÌØÐÔ£¬ ......
Alex. J. Champandard
ÀµÓºƣ¨http://laiyonghao.com£© Òë
ÔÎĵØÖ·£ºhttp://aigamedev.com/open/interviews/inside-galcon-python-ai/
AiGameDev.comÔÚÕâ¸öÖÜÒ»µÄ pratical insights ÊǶÔPhil Hassey²É·Ã¡£Phil ÊÇÒ»¸ö¶ÀÁ¢ÓÎÏ·¿ª·¢Õߣ¬Ò²ÊÇÓÎÏ·²úÒµÉçÇøµÄ»îÔ¾·Ö×Ó¡£ËûÔøÓ®µÃ2006Äê4Ô嵀 Ludum Dare ±ÈÈü£¨Õâ¸ö±ÈÈü¹Ø×¢ ......
PythonµÄ×Öµä²Ù×÷
PythonÌṩÁ˶àÖÖÓ¦ÓÃÓÚ×ÖµäµÄ²Ù×÷¡£ÒòΪ×ÖµäΪÈÝÆ÷£¬ÄÚ½¨lenº¯Êý¿ÉÒÔ½«×ֵ䵱×÷µ¥Ò»²ÎÊýʹÓÃÌýÇзµ»Ø×Öµä¶ÔÏóÖÐÏîÄ¿£¨¼ü£¯Öµ¶Ô£©µÄÊýÄ¿¡£
×Öµä»áÔ±
ÔÚPython2.2ÒÔ¼°ºóÃæ°æ±¾£¬DÖеÄkÔËËã·û¼ì²âÊÇ·ñ¶ÔÏókÊÇ×ÖµäDÖеļü¡£Èç¹ûÊÇ·µ»ØTrueÈç¹û²»ÊÇ·µ»ØFalse¡£ÏàËÆµÄ£¬
Ë÷ÒýÒ»¸ö×Öµä
×ÖµäDÖеÄÖµ ......