Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
py±àÂëÖÕ¼«°æ
 
  2411  次浏览      27
 2018-1-17 
 
±à¼­ÍƼö:
À´Ô´ÓÚcnblogs£¬ÎÄÕÂÒÑ´úÂëµÄÐÎʽչ¿ª£¬Ö÷Òª½â¾öÒÔÏÂÎÊÌ⣬¸ÅÄpy2µÄstring±àÂ룬py3µÄstring±àÂ룬Îļþ´Ó´ÅÅ̵½ÄÚ´æµÄ±àÂë(******)µÈµÈ¡£

˵Æðpython±àÂë£¬ÕæÊǾä¾äÐÄËá¡£ËãÆðÀ´£¬·´¸´ÕÛÌÚÁ½¸öÀ´ÔÂÁË¡£ÍòÐÒµÄÊÇ£¬ÖÕÓÚÊáÀíÇå³þÁË¡£×÷Ϊһ¸ö¹²²úÖ÷ÒåÕߣ¬Ò»¶¨Òª·ÖÏí¸ø´ó¼Ò¡£Èç¹ûÄ㻹ÔÚÒòΪ±àÂë¶øÍ·Í´£¬ÄÇô¸Ï½ô¸ú×ÅÎÒÔÛÃÇÒ»ÆðÀ´½Ò¿ªpy±àÂëµÄÕæÏà°É£¡

Ò» ʲôÊDZàÂ룿

»ù±¾¸ÅÄîºÜ¼òµ¥¡£Ê×ÏÈ£¬ÎÒÃÇ´ÓÒ»¶ÎÐÅÏ¢¼´ÏûϢ˵Æð£¬ÏûÏ¢ÒÔÈËÀà¿ÉÒÔÀí½â¡¢Ò×¶®µÄ±íʾ´æÔÚ¡£ÎÒ´òË㽫ÕâÖÖ±íʾ³ÆÎª¡°Ã÷ÎÄ¡±£¨plain text£©¡£¶ÔÓÚ˵ӢÓïµÄÈË£¬Ö½ÕÅÉÏ´òÓ¡µÄ»òÆÁÄ»ÉÏÏÔʾµÄÓ¢Îĵ¥´Ê¶¼Ëã×÷Ã÷ÎÄ¡£

Æä´Î£¬ÎÒÃÇÐèÒªÄܽ«Ã÷ÎıíʾµÄÏûϢת³ÉÁíÍâijÖÖ±íʾ£¬ÎÒÃÇ»¹ÐèÒªÄܽ«±àÂëÎı¾×ª»Ø³ÉÃ÷ÎÄ¡£´ÓÃ÷Îĵ½±àÂëÎı¾µÄת»»³ÆÎª¡°±àÂ롱£¬´Ó±àÂëÎı¾ÓÖת»Ø³ÉÃ÷ÎÄÔòΪ¡°½âÂ롱¡£

±àÂëÎÊÌâÊǸö´óÎÊÌ⣬Èç¹û²»³¹µ×½â¾ö£¬Ëü¾Í»áÏñÒþ²ØÔÚ´ÔÁÖÖеÄСÉߣ¬Ê±²»Ê±µØÒ§ÄãÒ»¿Ú¡£

ÄÇôµ½µ×ʲôÊDZàÂëÄØ£¿

//ASCII

¼Çסһ¾ä»°£º¼ÆËã»úÖеÄËùÓÐÊý¾Ý£¬²»ÂÛÊÇÎÄ×Ö¡¢Í¼Æ¬¡¢ÊÓÆµ¡¢»¹ÊÇÒôƵÎļþ£¬±¾ÖÊÉÏ×îÖÕ¶¼Êǰ´ÕÕÀàËÆ 01010101 µÄ¶þ½øÖÆ´æ´¢µÄ¡£

ÔÙ˵¼òµ¥µã£¬¼ÆËã»úÖ»¶®¶þ½øÖÆÊý×Ö£¡

ËùÒÔ£¬Ä¿µÄÃ÷È·ÁË£ºÈçºÎ½«ÎÒÃÇÄÜʶ±ðµÄ·ûºÅΨһµÄÓëÒ»×é¶þ½øÖÆÊý×Ö¶ÔÓ¦ÉÏ£¿ÓÚÊÇÃÀÀû¼áµÄͬ־Ï뵽ͨ¹ýÒ»¸öµçƽµÄ¸ßµÍ״̬À´´úÖ¸0»ò1£¬

°Ë¸öµçƽ×öΪһ×é¾Í¿ÉÒÔ±íʾ³ö

256ÖÖ²»Í¬×´Ì¬£¬Ã¿ÖÖ״̬¾ÍΨһ¶ÔÓ¦Ò»¸ö×Ö·û£¬±ÈÈçA--->00010001,¶øÓ¢ÎÄÖ»ÓÐ26¸ö×Ö·û£¬ËãÉÏÒ»Ð©ÌØÊâ×Ö·ûºÍÊý×Ö£¬128¸ö״̬Ҳ¹»

ÓÃÁË£»Ã¿¸öµçƽ³ÆÎªÒ»¸ö±ÈÌØÎª£¬Ô¼¶¨8¸ö±ÈÌØÎ»¹¹³ÉÒ»¸ö×Ö½Ú£¬ÕâÑù¼ÆËã»ú¾Í¿ÉÒÔÓÃ127¸ö²»Í¬×Ö½ÚÀ´´æ´¢Ó¢ÓïµÄÎÄ×ÖÁË¡£Õâ¾ÍÊÇASCII±àÂë¡£

À©Õ¹ANSI±àÂë

¸Õ²Å˵ÁË£¬×ʼ£¬Ò»¸ö×Ö½ÚÓаË룬µ«ÊÇ×î¸ßλûÓÃÉÏ£¬Ä¬ÈÏΪ0£»ºóÀ´ÎªÁ˼ÆËã»úÒ²¿ÉÒÔ±íʾÀ­¶¡ÎÄ£¬¾Í½«×îºóһλҲÓÃÉÏÁË£¬

´Ó128µ½255µÄ×Ö·û¼¯¶ÔÓ¦À­¶¡ÎÄÀ²¡£ÖÁ´Ë£¬Ò»¸ö×Ö½Ú¾ÍÓÃÂúÁË£¡

//GB2312

¼ÆËã»úƯÑó¹ýº£À´µ½Öйúºó£¬ÎÊÌâÀ´ÁË£¬¼ÆËã»ú²»ÈÏʶÖÐÎÄ£¬µ±È»Ò²Ã»·¨ÏÔʾÖÐÎÄ£»¶øÇÒÒ»¸ö×Ö½ÚËùÓÐ״̬¶¼±»Õ¼ÂúÁË£¬Íò¶ñµÄµÛ¹úÖ÷ÒåÍö

ÎÒÖ®ÐIJ»ËÀ°¡£¡ÎÒµ³Ò²Êǰô£¬×ÔÁ¦¸üÉú£¬×Ô¼ºÖØÐ´Ò»ÕÅ±í£¬Ö±½ÓÉúÃ͵ؽ«À©Õ¹µÄµÚ°Ëλ¶ÔÓ¦À­¶¡ÎÄÈ«²¿É¾µô£¬¹æ¶¨Ò»¸öСÓÚ127µÄ×Ö·ûµÄÒâ

ÒåÓëÔ­À´Ïàͬ£¬µ«Á½¸ö´óÓÚ127µÄ×Ö·ûÁ¬ÔÚÒ»Æðʱ£¬¾Í±íʾһ¸öºº×Ö£¬Ç°ÃæµÄÒ»¸ö×Ö½Ú£¨Ëû³ÆÖ®Îª¸ß×Ö½Ú£©´Ó0xA1Óõ½0xF7£¬ºóÃæÒ»¸ö×Ö½Ú

£¨µÍ×Ö½Ú£©´Ó0xA1µ½0xFE£¬ÕâÑùÎÒÃǾͿÉÒÔ×éºÏ³ö´óÔ¼7000¶à¸ö¼òÌ庺×ÖÁË£»ÕâÖÖºº×Ö·½°¸½Ð×ö ¡°GB2312¡±¡£GB2312 ÊÇ¶Ô ASCII µÄÖÐÎÄÀ©Õ¹¡£

//GBK ºÍ GB18030±àÂë

µ«ÊǺº×ÖÌ«¶àÁË£¬GB2312Ò²²»¹»Óã¬ÓÚÊǹ涨£ºÖ»ÒªµÚÒ»¸ö×Ö½ÚÊÇ´óÓÚ127¾Í¹Ì¶¨±íʾÕâÊÇÒ»¸öºº×ֵĿªÊ¼£¬²»¹ÜºóÃæ¸úµÄÊDz»ÊÇÀ©Õ¹×Ö·û¼¯ÀïµÄ

ÄÚÈÝ¡£½á¹ûÀ©Õ¹Ö®ºóµÄ±àÂë·½°¸±»³ÆÎª GBK ±ê×¼£¬GBK °üÀ¨ÁË GB2312 µÄËùÓÐÄÚÈÝ£¬Í¬Ê±ÓÖÔö¼ÓÁ˽ü20000¸öеĺº×Ö£¨°üÀ¨·±Ìå×Ö£©ºÍ·ûºÅ¡£

//UNICODE±àÂ룺

ºÜ¶àÆäËü¹ú¼Ò¶¼¸ã³ö×Ô¼ºµÄ±àÂë±ê×¼£¬±Ë´Ë¼äÈ´Ï໥²»Ö§³Ö¡£Õâ¾Í´øÀ´Á˺ܶàÎÊÌâ¡£ÓÚÊÇ£¬¹ú¼Ê±êË­»¯×é֯ΪÁËͳһ±àÂ룺Ìá³öÁ˱ê×¼±àÂë×¼

Ôò£ºUNICODE ¡£

UNICODEÊÇÓÃÁ½¸ö×Ö½ÚÀ´±íʾΪһ¸ö×Ö·û£¬Ëü×ܹ²¿ÉÒÔ×éºÏ³ö65535²»Í¬µÄ×Ö·û£¬Õâ×ãÒÔ¸²¸ÇÊÀ½çÉÏËùÓзûºÅ£¨°üÀ¨¼×¹ÇÎÄ£©

//utf8:

unicode¶¼Ò»Í³ÌìÏÂÁË£¬ÎªÊ²Ã´»¹ÒªÓÐÒ»¸öutf8µÄ±àÂëÄØ£¿

´ó¼ÒÏ룬¶ÔÓÚÓ¢ÎÄÊÀ½çµÄÈËÃÇÀ´½²£¬Ò»¸ö×Ö½ÚÍêÈ«¹»ÁË£¬±ÈÈçÒª´æ´¢A,±¾À´00010001¾Í¿ÉÒÔÁË£¬ÏÖÔÚ³ÔÉÏÁËunicodeµÄ´ó¹ø·¹£¬

µÃÓÃÁ½¸ö×Ö½Ú£º00000000 00010001²ÅÐУ¬ÀË·ÑÌ«ÑÏÖØ£¡

»ùÓÚ´Ë£¬ÃÀÀû¼áµÄ¿ÆÑ§¼ÒÃÇÌá³öÁËÌì²ÅµÄÏë·¨£ºutf8.

UTF-8£¨8-bit Unicode Transformation Format£©ÊÇÒ»ÖÖÕë¶ÔUnicodeµÄ¿É±ä³¤¶È×Ö·û±àÂ룬Ëü¿ÉÒÔʹÓÃ1~4¸ö×Ö½Ú±íʾһ¸ö·ûºÅ£¬¸ù¾Ý

²»Í¬µÄ·ûºÅ¶ø±ä»¯×Ö½Ú³¤¶È£¬µ±×Ö·ûÔÚASCIIÂëµÄ·¶Î§Ê±£¬¾ÍÓÃÒ»¸ö×Ö½Ú±íʾ£¬ËùÒÔÊǼæÈÝASCII±àÂëµÄ¡£

ÕâÑùÏÔÖøµÄºÃ´¦ÊÇ£¬ËäÈ»ÔÚÎÒÃÇÄÚ´æÖеÄÊý¾Ý¶¼ÊÇunicode£¬µ«µ±Êý¾ÝÒª±£´æµ½´ÅÅÌ»òÕßÓÃÓÚÍøÂç´«Êäʱ£¬Ö±½ÓʹÓÃunicode¾ÍÔ¶²»Èçutf8Ê¡¿Õ¼äÀ²£¡

ÕâÒ²ÊÇΪʲôutf8ÊÇÎÒÃǵÄÍÆ¼ö±àÂ뷽ʽ¡£

UnicodeÓëutf8µÄ¹ØÏµ£º

Ò»ÑÔÒÔ±ÎÖ®£ºUnicodeÊÇÄÚ´æ±àÂë±íʾ·½°¸£¨Êǹ淶£©£¬¶øUTFÊÇÈçºÎ±£´æºÍ´«ÊäUnicodeµÄ·½°¸£¨ÊÇʵÏÖ£©ÕâÒ²ÊÇUTFÓëUnicodeµÄÇø±ð¡£

²¹³ä£ºutf8ÊÇÈçºÎ½ÚÔ¼Ó²Å̺ÍÁ÷Á¿µÄ

s="I'm Ô·ê»"

Äã¿´µ½µÄunicode×Ö·û¼¯ÊÇÕâÑùµÄ±àÂë±í£º

I 0049
' 0027
m 006d
0020
Ô· 82d1
ê» 660a

ÿһ¸ö×Ö·û¶ÔÓ¦Ò»¸öÊ®Áù½øÖÆÊý×Ö¡£

¼ÆËã»úÖ»¶®¶þ½øÖÆ£¬Òò´Ë£¬Ñϸñ°´ÕÕunicodeµÄ·½Ê½(UCS-2)£¬Ó¦¸ÃÕâÑù´æ´¢£º

I 00000000 01001001
' 00000000 00100111
m 00000000 01101101
00000000 00100000
Ô· 10000010 11010001
ê» 01100110 00001010

Õâ¸ö×Ö·û´®×ܹ²Õ¼ÓÃÁË12¸ö×Ö½Ú£¬µ«ÊǶԱÈÖÐÓ¢ÎĵĶþ½øÖÆÂ룬¿ÉÒÔ·¢ÏÖ£¬Ó¢ÎÄǰ9λ¶¼ÊÇ0£¡À˷Ѱ¡£¬ÀË·ÑÓ²ÅÌ£¬ÀË·ÑÁ÷Á¿¡£Ôõô°ì£¿UTF8:

I 01001001
' 00100111
m 01101101
00100000
Ô· 11101000 10001011 10010001
ê» 11100110 10011000 10001010

utf8ÓÃÁË10¸ö×Ö½Ú£¬¶Ô±Èunicode£¬ÉÙÁËÁ½¸ö£¬ÒòΪÎÒÃǵijÌÐòÓ¢ÎÄ»áÔ¶¶àÓÚÖÐÎÄ£¬ËùÒÔ¿Õ¼ä»áÌá¸ßºÜ¶à£¡

¼Çס£ºÒ»Çж¼ÊÇΪÁ˽ÚÊ¡ÄãµÄÓ²Å̺ÍÁ÷Á¿¡£¡¡¡¡

¶þ py2µÄstring±àÂë

ÔÚpy2ÖУ¬ÓÐÁ½ÖÖ×Ö·û´®ÀàÐÍ£ºstrÀàÐͺÍunicodeÀàÐÍ£»×¢Ò⣬Õâ½ö½öÊÇÁ½¸öÃû×Ö£¬python¶¨ÒåµÄÁ½¸öÃû×Ö£¬¹Ø¼üÊÇÕâÁ½ÖÖÊý¾ÝÀàÐÍÔÚ³ÌÐòÔËÐÐʱ´æÔÚÄÚ´æµØÖ·µÄÊÇʲô£¿

ÎÒÃÇÀ´¿´Ò»Ï£º

#coding:utf8

s1='Ô·'

print type(s1) # <type 'str'>
print repr(s1) #'\xe8\x8b\x91

s2=u'Ô·'
print type(s2) # <type 'unicode'>
print repr(s2) # u'\u82d1'

ÄÚÖú¯Êýrepr¿ÉÒÔ°ïÎÒÃÇÔÚÕâÀïÏÔʾ´æ´¢ÄÚÈÝ¡£Ô­À´£¬strºÍunicode·Ö±ð´æµÄÊÇ×Ö½ÚÊý¾ÝºÍunicodeÊý¾Ý£»ÄÇôÁ½ÖÖÊý¾ÝÖ®¼äÊÇʲô¹ØÐÄÄØ£¿ÈçºÎת»»ÄØ?ÕâÀï¾ÍÉæ¼°µ½±àÂë(encode)ºÍ½âÂë(decode)ÁË

s1=u'Ô·'
print repr(s1) #u'\u82d1'

b=s1.encode('utf8')
print b
print type(b) #<type 'str'>
print repr(b) #'\xe8\x8b\x91'

s2='Ô·ê»'
u=s2.decode('utf8')
print u # Ô·ê»
print type(u) # <type 'unicode'>
print repr(u) # u'\u82d1\u660a'

#×¢Òâ
u2=s2.decode('gbk')
print u2 #苑昊

print len('Ô·ê»') #6

ÎÞÂÛÊÇutf8»¹ÊÇgbk¶¼Ö»ÊÇÒ»ÖÖ±àÂë¹æÔò£¬Ò»ÖÖ°ÑunicodeÊý¾Ý±àÂë³É×Ö½ÚÊý¾ÝµÄ¹æÔò£¬ËùÒÔutf8±àÂëµÄ×Ö½ÚÒ»¶¨ÒªÓÃutf8µÄ¹æÔò½âÂ룬·ñÔò¾Í»á³öÏÖÂÒÂë»òÕß±¨´íµÄÇé¿ö¡£

py2±àÂëµÄÌØÉ«£º

#coding:utf8

print 'Ô·ê»' # Ô·ê»
print repr('Ô·ê»')#'\xe8\x8b\x91\xe6\x98\x8a'

print (u"hello"+"yuan")

#print (u'Ô·ê»'+'×î˧') #UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6
# in position 0: ordinal not in range(128)

Python 2 ÇÄÇÄÑڸǵôÁË byte µ½ unicode µÄת»»£¬Ö»ÒªÊý¾ÝÈ«²¿ÊÇ ASCII µÄ»°£¬ËùÓеÄת»»¶¼ÊÇÕýÈ·µÄ£¬Ò»µ©Ò»¸ö·Ç ASCII ×Ö·û͵͵½øÈëÄãµÄ³ÌÐò£¬ÄÇôĬÈϵĽâÂ뽫»áʧЧ£¬´Ó¶øÔì³É UnicodeDecodeError µÄ´íÎó¡£py2±àÂëÈóÌÐòÔÚ´¦Àí ASCII µÄʱºò¸ü¼Ó¼òµ¥¡£Ä㸴³öµÄ´ú¼Û¾ÍÊÇÔÚ´¦Àí·Ç ASCII µÄʱºò½«»áʧ°Ü¡£

Èý py3µÄstring±àÂë

python3 renamed the unicode type to str ,the old str type has been replaced by bytes.

py3Ò²ÓÐÁ½ÖÖÊý¾ÝÀàÐÍ£ºstrºÍbytes£» strÀàÐÍ´æunicodeÊý¾Ý£¬bytseÀàÐÍ´æbytesÊý¾Ý£¬Óëpy2±ÈÖ»ÊÇ»»ÁËÒ»ÏÂÃû×Ö¶øÒÑ¡£

import json

s='Ô·ê»'
print(type(s)) #<class 'str'>
print(json.dumps(s)) # "\u82d1\u660a"

b=s.encode('utf8')
print(type(b)) # <class 'bytes'>
print(b) # b'\xe8\x8b\x91\xe6\x98\x8a'


u=b.decode('utf8')
print(type(u)) #<class 'str'>
print(u) #Ô·ê»
print(json.dumps(u)) #"\u82d1\u660a"


print(len('Ô·ê»')) # 2

py3µÄ±àÂëÕÜѧ£º

Python 3×îÖØÒªµÄÐÂÌØÐÔ´ó¸ÅÒªËãÊǶÔÎı¾ºÍ¶þ½øÖÆÊý¾Ý×÷Á˸üΪÇåÎúµÄÇø·Ö£¬²»ÔÙ»á¶Ôbytes×Ö½Ú´®½øÐÐ×Ô¶¯½âÂë¡£Îı¾×ÜÊÇUnicode£¬ÓÉstrÀàÐͱíʾ£¬¶þ½øÖÆÊý¾ÝÔòÓÉbytesÀàÐͱíʾ¡£Python 3²»»áÒÔÈÎÒâÒþʽµÄ·½Ê½»ìÓÃstrºÍbytes£¬ÕýÊÇÕâʹµÃÁ½ÕßµÄÇø·ÖÌØ±ðÇåÎú¡£Äã²»ÄÜÆ´½Ó×Ö·û´®ºÍ×Ö½Ú°ü£¬Ò²ÎÞ·¨ÔÚ×Ö½Ú°üÀïËÑË÷×Ö·û´®£¨·´Ö®ÒàÈ»£©£¬Ò²²»Äܽ«×Ö·û´®´«Èë²ÎÊýΪ×Ö½Ú°üµÄº¯Êý£¨·´Ö®ÒàÈ»£©¡£

#print('alvin'+u'yuan')#×Ö½Ú´®ºÍunicodeÁ¬½Ó py2:alvinyuan
print(b'alvin'+'yuan')#×Ö½Ú´®ºÍunicodeÁ¬½Ó py3:±¨´í can't concat bytes to str

×¢Ò⣺ÎÞÂÛpy2£¬»¹ÊÇpy3,ÓëÃ÷ÎÄÖ±½Ó¶ÔÓ¦µÄ¾ÍÊÇunicodeÊý¾Ý£¬´òÓ¡unicodeÊý¾Ý¾Í»áÏÔʾÏàÓ¦µÄÃ÷ÎÄ(°üÀ¨Ó¢ÎĺÍÖÐÎÄ)

ËÄ Îļþ´Ó´ÅÅ̵½ÄÚ´æµÄ±àÂë(******)

˵µ½Õ⣬²ÅÀ´µ½ÎÒÃǵÄÖØµã£¡

Å׿ªÖ´ÐÐÖ´ÐгÌÐò£¬ÇëÎÊ´ó¼Ò£¬Îı¾±à¼­Æ÷´ó¼Ò¶¼ÊÇÓùý°É£¬Èç¹û²»¶®ÊÇʲô£¬ÄÇôword×ÜÓùý°É£¬ok£¬µ±ÎÒÃÇÔÚwordÉϱ༭ÎÄ×ÖµÄʱºò£¬²»¹ÜÊÇÖÐÎÄ»¹ÊÇÓ¢ÎÄ£¬¼ÆËã»ú¶¼ÊDz»ÈÏʶµÄ£¬ÄÇôÔÚ±£´æÖ®Ç°Êý¾ÝÊÇͨ¹ýʲôÐÎʽ´æÔÚÄÚ´æµÄÄØ£¿yes£¬¾ÍÊÇunicodeÊý¾Ý£¬ÎªÊ²Ã´Òª´æunicodeÊý¾Ý£¬ÕâÊÇÒòΪËüµÄÃû×Ö×îŒÅ£ºÍò¹úÂ룡½âÊÍÆðÀ´¾ÍÊÇÎÞÂÛÓ¢ÎÄ£¬ÖÐÎÄ£¬ÈÕÎÄ£¬À­¶¡ÎÄ£¬ÊÀ½çÉϵÄÈκÎ×Ö·ûËü¶¼ÓÐΨһ±àÂë¶ÔÓ¦£¬ËùÒÔ¼æÈÝÐÔÊÇ×îºÃµÄ¡£

ºÃ£¬Äǵ±ÎÒÃDZ£´æÁË´æµ½´ÅÅÌÉϵÄÊý¾ÝÓÖÊÇÊ²Ã´ÄØ£¿

´ð°¸ÊÇͨ¹ýijÖÖ±àÂ뷽ʽ±àÂëµÄbytes×Ö½Ú´®¡£±ÈÈçutf8-£­£­Ò»Öֿɱ䳤±àÂ룬ºÜºÃµÄ½ÚÊ¡Á˿ռ䣻µ±È»»¹ÓÐÀúÊ·²úÎïµÄgbk±àÂëµÈµÈ¡£ÓÚÊÇ£¬ÔÚÎÒÃǵÄÎı¾±à¼­Æ÷Èí¼þ¶¼ÓÐĬÈϵı£´æÎļþµÄ±àÂ뷽ʽ£¬±ÈÈçutf8£¬±ÈÈçgbk¡£µ±ÎÒÃǵã»÷±£´æµÄʱºò£¬ÕâЩ±à¼­Èí¼þÒѾ­"ĬĬµØ"°ïÎÒÃÇ×öÁ˱àÂ빤×÷¡£

Äǵ±ÎÒÃÇÔÙ´ò¿ªÕâ¸öÎļþʱ£¬Èí¼þÓÖĬĬµØ¸øÎÒÃÇ×öÁ˽âÂëµÄ¹¤×÷£¬½«Êý¾ÝÔÙ½âÂë³Éunicode,È»ºó¾Í¿ÉÒÔ³ÊÏÖÃ÷ÎĸøÓû§ÁË£¡ËùÒÔ£¬unicodeÊÇÀëÓû§¸ü½üµÄÊý¾Ý£¬bytesÊÇÀë¼ÆËã»ú¸ü½üµÄÊý¾Ý¡£

˵ÁËÕâô¶à£¬ºÍÎÒÃdzÌÐòÖ´ÐÐÓÐʲô¹ØÏµÄØ£¿

ÏÈÃ÷È·Ò»¸ö¸ÅÄpy½âÊÍÆ÷±¾Éí¾ÍÊÇÒ»¸öÈí¼þ£¬Ò»¸öÀàËÆÓÚÎı¾±à¼­Æ÷Ò»ÑùµÄÈí¼þ£¡

ÏÖÔÚÈÃÎÒÃÇÒ»Æð»¹Ô­Ò»¸öpyÎļþ´Ó´´½¨µ½Ö´ÐеıàÂë¹ý³Ì£º

´ò¿ªpycharm£¬´´½¨hello.pyÎļþ£¬Ð´Èë

ret=1+1
s='Ô·ê»'
print(s)

µ±ÎÒÃDZ£´æµÄµÄʱºò£¬hello.pyÎļþ¾ÍÒÔpycharmĬÈϵıàÂ뷽ʽ±£´æµ½ÁË´ÅÅÌ£»¹Ø±ÕÎļþºóÔÙ´ò¿ª£¬pycharm¾ÍÔÙÒÔĬÈϵıàÂ뷽ʽ¶Ô¸ÃÎļþ´ò¿ªºó¶Áµ½µÄÄÚÈݽøÐнâÂ룬ת³Éunicodeµ½ÄÚ´æÎÒÃǾͿ´µ½ÁËÎÒÃǵÄÃ÷ÎÄ£»

¶øÈç¹ûÎÒÃǵã»÷ÔËÐа´Å¥»òÕßÔÚÃüÁîÐÐÔËÐиÃÎļþʱ£¬py½âÊÍÆ÷Õâ¸öÈí¼þ¾Í»á±»µ÷Ó㬴ò¿ªÎļþ£¬È»ºó½âÂë´æÔÚ´ÅÅÌÉϵÄbytesÊý¾Ý³ÉunicodeÊý¾Ý£¬Õâ¸ö¹ý³ÌºÍ±à¼­Æ÷ÊÇÒ»ÑùµÄ£¬²»Í¬µÄÊǽâÊÍÆ÷»áÔÙ½«ÕâЩunicodeÊý¾Ý·­Òë³ÉC´úÂëÔÙת³É¶þ½øÖƵÄÊý¾ÝÁ÷£¬×îºóͨ¹ý¿ØÖƲÙ×÷ϵͳµ÷ÓÃcpuÀ´Ö´ÐÐÕâЩ¶þ½øÖÆÊý¾Ý£¬Õû¸ö¹ý³Ì²ÅËã½áÊø¡£

ÄÇôÎÊÌâÀ´ÁË£¬ÎÒÃǵÄÎı¾±à¼­Æ÷ÓÐ×Ô¼ºÄ¬ÈϵıàÂë½âÂ뷽ʽ£¬ÎÒÃǵĽâÊÍÆ÷ÓÐÂð£¿

µ±È»ÓÐÀ²£¬py2ĬÈÏASCIIÂ룬py3ĬÈϵÄutf8£¬¿ÉÒÔͨ¹ýÈçÏ·½Ê½²éѯ

import sys
print(sys.getdefaultencoding())

´ó¼Ò»¹¼ÇµÃÕâ¸öÉùÃ÷Âð£¿

#coding:utf8

Êǵģ¬Õâ¾ÍÊÇÒòΪÈç¹ûpy2½âÊÍÆ÷È¥Ö´ÐÐÒ»¸öutf8±àÂëµÄÎļþ£¬¾Í»áÒÔĬÈϵØASCIIÈ¥½âÂëutf8£¬Ò»µ©³ÌÐòÖÐÓÐÖÐÎÄ£¬×ÔÈ»¾Í½âÂë´íÎóÁË£¬ËùÒÔÎÒÃÇÔÚÎļþ¿ªÍ·Î»ÖÃÉùÃ÷¡¡#coding:utf8£¬Æäʵ¾ÍÊǸæËß½âÊÍÆ÷£¬Äã²»ÒªÒÔĬÈϵıàÂ뷽ʽȥ½âÂëÕâ¸öÎļþ£¬¶øÊÇÒÔutf8À´½âÂë¡£¶øpy3µÄ½âÊÍÆ÷ÒòΪĬÈÏutf8±àÂ룬ËùÒԾͷ½±ãºÜ¶àÁË¡£

×¢Ò⣺ÎÒÃÇÉÏÃæ½²µÄstring±àÂëÊÇÔÚcpuÖ´ÐгÌÐòʱµÄ´æ´¢×´Ì¬£¬ÊÇÁíÍâÒ»¸ö¹ý³Ì£¬²»Òª»ìÏý£¡

Îå ³£¼ûµÄ±àÂëÎÊÌâ

1 cmdϵÄÂÒÂëÎÊÌâ

#coding:utf8
print ('Ô·ê»')

Îļþ±£´æÊ±µÄ±àÂëҲΪutf8¡£

˼¿¼£ºÎªÊ²Ã´ÔÚIDEÏÂÓÃ2»ò3Ö´Ðж¼Ã»ÎÊÌ⣬ÔÚcmd.exeÏÂ3ÕýÈ·£¬2ÂÒÂëÄØ£¿

ÎÒÃÇÔÚwinϵÄÖն˼´cmd.exeÈ¥Ö´ÐУ¬´ó¼Ò×¢Ò⣬cmd.exe±¾ÉíÒ²Ò»¸öÈí¼þ£»µ±ÎÒÃÇpython2 hello.pyʱ£¬python2½âÊÍÆ÷(ĬÈÏASCII±àÂë)È¥°´ÉùÃ÷µÄutf8±àÂëÎļþ£¬¶øÎļþÓÖÊÇutf8±£´æµÄ£¬ËùÒÔûÎÊÌ⣻ÎÊÌâ³öÔÚµ±ÎÒÃÇprint'Ô·ê»'ʱ£¬½âÊÍÆ÷Õâ±ßÕý³£Ö´ÐУ¬Ò²²»»á±¨´í£¬Ö»ÊÇprintµÄÄÚÈݻᴫµÝ¸øcmd.exeÓÃÀ´ÏÔʾ£¬¶øÔÚpy2ÀïÕâ¸öÄÚÈݾÍÊÇutf8±àÂëµÄ×Ö½ÚÊý¾Ý£¬¿ÉÕâ¸öÈí¼þĬÈϵıàÂë½âÂ뷽ʽÊÇGBK£¬ËùÒÔcmd.exeÓÃGBKµÄ½âÂ뷽ʽȥ½âÂëutf8×ÔÈ»»áÂÒÂë¡£

py3ÕýÈ·µÄÔ­ÒòÊÇ´«µÝ¸øcmdµÄÊÇunicodeÊý¾Ý£¬cmd.exe¿ÉÒÔʶ±ðÄÚÈÝ£¬ËùÒÔÏÔʾûÎÊÌâ¡£

Ã÷°×Ô­ÀíÁË£¬Ð޸ľÍÓкܶ෽ʽ£¬±ÈÈ磺

print (u'Ô·ê»')

¸Ä³ÉÕâÑùºó£¬cmdÏÂÓÃ2Ò²²»»áÓÐÎÊÌâÁË¡£

2 open()ÖеıàÂëÎÊÌâ

´´½¨Ò»¸öhelloÎı¾£¬±£´æ³Éutf8£º

Է껣¬Äã×î˧£¡

ͬĿ¼Ï´´½¨Ò»¸öindex.py

f=open('hello')
print(f.read())

Ϊʲô ÔÚlinuxÏ£¬½á¹ûÕý³££ºÔ·ê»£¬ÔÚwinÏ£¬ÂÒÂ룺苑昊£¨py3½âÊÍÆ÷£©£¿

ÒòΪÄãµÄwinµÄ²Ù×÷ϵͳ°²×°Ê±ÊÇĬÈϵÄgbk±àÂ룬¶ølinux²Ù×÷ϵͳĬÈϵÄÊÇutf8±àÂ룻

µ±Ö´ÐÐopenº¯Êýʱ£¬µ÷ÓõÄÊDzÙ×÷ϵͳ´ò¿ªÎļþ£¬²Ù×÷ϵͳÓÃĬÈϵÄgbk±àÂëÈ¥½âÂëutf8µÄÎļþ£¬×ÔÈ»ÂÒÂë¡£

½â¾ö°ì·¨£º

f=open('hello',encoding='utf8')
print(f.read())

Èç¹ûÄãµÄÎļþ±£´æµÄÊÇgbk±àÂ룬ÔÚwin ϾͲ»ÓÃÖ¸¶¨encodingÁË¡£

ÁíÍ⣬Èç¹ûÄãµÄwinÉϲ»ÐèÒªÖ¸¶¨¸ø²Ù×÷ϵͳencoding='utf8'£¬ÄǾÍÊÇÄ㰲װʱ¾ÍÊÇĬÈϵÄutf8±àÂë»òÕßÒѾ­Í¨¹ýÃüÁîÐ޸ijÉÁËutf8±àÂë¡£

×¢Ò⣺openÕâ¸öº¯ÊýÔÚpy2ÀïºÍpy3ÖÐÊDz»Í¬µÄ£¬py3ÖÐÓÐÁËÒ»¸öencoding£½None²ÎÊý¡£

   
2411 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ