#åç¹çå符ç¼ç
å符ç¼ç ï¼å¨ç¼ç¨ä¸ï¼æ¯ä¸ä¸ªè®©å¦ä¹ è
æ¯è¾éé·çä¸è¥¿ï¼æ¯å¦ä¸ä¸ªstrï¼å¦æé½æ¯è±æï¼å¥½è¯´å¤äºã使°æ°ä¸æ¯å¦æ¤ï¼ä¸ææ¯æä»¬ä¸å¾ä¸ç¨çãæä»¥ï¼åªææ¯åå¦è
ï¼é½è¦äºè§£å¹¶è½å¤è§£å³å符ç¼ç é®é¢ã
>>> name = 'èé½'
>>> name
'\xe8\x80\x81\xe9\xbd\x90'
å¨ä½ çç¼ç¨ä¸ï¼ä½ éå°è¿ä¸é¢çæ
å½¢åï¼è®¤è¯æä¸é¢ä¸è¡æå°åºæ¥çä¸è¥¿åï¼çäººå®¶è±æï¼å°±å¥½å¤äº
>>> name = "qiwsir"
>>> name
'qiwsir'
é¾éè¿æ¯ä¸æçéåï¼çæ¥æèççæ¯ä¸ä¸ªææ¯æ´»ãæ¯çï¼æèæ¯ææ¯æ´»ï¼ä½ä¸é¢çé®é¢ä¸æ¯ä¸æçéã
##ç¼ç
ä»ä¹æ¯ç¼ç ï¼è¿æ¯ä¸ä¸ªæ¯è¾çä¹çé®é¢ãä¹ä¸å¥½ä¸ä¸ä¸ªæ®éå®ä¹ãæçå°æçææä¸æå®ä¹ï¼ä¸æ¢è¯´ä»çå®ä¹ä¸å¯¹ï¼è³å°å¯ä»¥è¯´ä¸å®¹æçè§£ã
å¤ä»£æä»ï¼å»é¼è¿æ»ã鏣鿶å
µï¼è¿å°±æ¯ç¼ç ãå§è¦ä¼ è¾¾ç»å£«å
µçå½ä»¤å¯¹åºä¸ºä¸å®çå
¶å®å½¢å¼ï¼æ¯å¦å½ä»¤âè¿æ»âï¼ç»è¿å¦æ¤çä¿¡æ¯ä¼ éï¼

1. é¿å®ä¸è¾¾è¿æ»å½ä»¤ï¼ä¼ 令åå°è¿ä¸ªå½ä»¤ç¼ç 为é¼å£°ï¼å¦æå¤æç¹ï¼æ¯ä¸æ¯æå 声é¼åï¼å¦ä½è¿æ»å¢ï¼ï¼ã
2. é¼å£°å¨ç©ºæ°ä¸ä¼ æï¼æ¯ä¼ 令åçååå¼åºæ¥ç声é³ä¼ æçæ´è¿ï¼å£«å
µå¬å°åä¹ä¸ä¼å¼èµ·æ§ä¹ï¼ä¸è¬ä¸ä¼æå£«å
µæé¼å£°å½åæå¼åç声é³ãè¿å°±æ¯âè¿æ»âå½ä»¤è¢«ç¼ç æé¼å£°ä¹åçä¼å¿æå¨ã
3. 士å
µå¬å°é¼å£°ï¼å°±æ¯æ¥æ¶å°ä¿¡æ¯ä¹åï¼å¦ææ¥åè¿è®ç»æè
æäººåè¯è¿ä»ä»¬ï¼ä»ä»¬å°±ç¥éè¿æ¯è®©æè¿æ»ãè¿ä¸ªè¿ç¨å°±æ¯è§£ç ãæä»¥ï¼ç¼ç æ¹æ¡è¦æä¸¤å¥ãä¸å¥å¨ä¿¡æ¯ååºè
é£éï¼å¦å¤ä¸å¥å¨ä¿¡æ¯æ¥åè
è¿éãç»è¿è§£ç ä¹åï¼å£«å
µæç½äºï¼æè¡å¨ã
以ä¸è¿ç¨æ¯è¾ç®åãå
¶å®ï¼çå®çç¼ç åè§£ç è¿ç¨ï¼è¦å¤æäºãä¸è¿ï¼åçé½å·®ä¸å¤çã
举ä¸ä¸ªä¼¼ä¹é¥è¿ï¼å
¶å®ä¸ä¹
å人们é½å¨ä½¿ç¨çä¸è¥¿åä¾åï¼[çµæ¥](http://zh.wikipedia.org/wiki/%E7%94%B5%E6%8A%A5)
>çµæ¥æ¯éä¿¡ä¸å¡çä¸ç§ï¼å¨19ä¸çºªååæï¼æ¯ææ©ä½¿ç¨çµè¿è¡éä¿¡çæ¹æ³ãçµæ¥å¤§ä¸ºå å¿«äºæ¶æ¯çæµéï¼æ¯å·¥ä¸ç¤¾ä¼çå
¶ä¸ä¸é¡¹éè¦åæãæ©æççµæ¥åªè½å¨éå°ä¸é讯ï¼åæ¥ä½¿ç¨äºæµ·åºçµç¼ï¼å¼å±äºè¶æ´æå¡ãå°äº20ä¸çºªåï¼å¼å§ä½¿ç¨æ çº¿çµæ¨åçµæ¥ï¼çµæ¥ä¸å¡åºæ¬ä¸å·²è½æµè¾¾å°çä¸å¤§é¨ä»½å°åºãçµæ¥ä¸»è¦æ¯ç¨ä½ä¼ éæå讯æ¯ï¼ä½¿ç¨çµæ¥ææ¯ç¨ä½ä¼ éå¾çç§°ä¸ºä¼ çã
>ä¸å½é¦æ¡åºç°çµæ¥çº¿è·¯æ¯1871å¹´ï¼ç±è±å½ãä¿å½å丹麦æ·è®¾ï¼ä»é¦æ¸¯ç»ä¸æµ·è³æ¥æ¬é¿å´çæµ·åºçµç¼ãç±äºæ¸
æ¿åºçå对ï¼çµç¼è¢«ç¦æ¢å¨ä¸æµ·ç»éãåæ¥ä¸¹éº¦å
¬å¸ä¸çæ¸
æ¿åºçç¦ä»¤ï¼å°çº¿è·¯å¼è³ä¸æµ·å
Œ
±ç§çï¼å¹¶å¨6æ3æ¥èµ·å¼å§æ¶åçµæ¥ãè³äºé¦æ¡èªä¸»æ·è®¾ççº¿è·¯ï¼æ¯ç±ç¦å»ºå·¡æä¸æ¥æå¨å°æ¹¾æå»ºï¼1877å¹´10æå®å·¥ï¼è¿æ¥å°ååé«éã1879å¹´ï¼åæ´å¤§è£æé¸¿ç« å¨å¤©æ´¥ã大沽ååå¡ä¹é´æ¶è®¾çµæ¥çº¿è·¯ï¼ç¨ä½åäºé讯ã1880å¹´ï¼æé¸¿ç« å¥åå¼åçµæ¥æ»å±ï¼ç±ç宣æä»»æ»åãå¹¶å¨1881å¹´12æå¼é天津è³ä¸æµ·ççµæ¥æå¡ãæé¸¿ç« 説ï¼âäºå¹´æ¥ï¼æå½åè®¾æ²¿æ±æ²¿æµ·åççµçº¿ï¼æ»è®¡ä¸ä¸å¤éï¼å½å®¶æè´¹æ å¤ï¼å·¨æ¬¾æ¥èªæ°é´ã彿¶æ£å¼æ³äººæè¡
ï¼å°å¸
æ¥ååæ
ï¼æå»·ä¼ è¾¾æç¤ºï¼åç¸æºèå¨ï¼æ 䏿¯«é»ç¢ãä¸å½èªå¤ç¨å
µï¼ä»æªå¦æ¤ç¥éãåºä½¿å¤§è£å¾æ¥é®çï¼æåå¤è³ï¼ç¸éä¸é好似åå±
åºé¢ãä¸¾è®¾çµæ¥ä¸ä¸¾ä¸å¾ï¼æ¢é²æ¢å¤æä¾µç¥ï¼åå 强å½é²ï¼äº¦æå©äºåå¡ãâ天津å®çµå±äºåºåéä¹±å
¨æ¯ã1887å¹´ï¼å°æ¹¾å·¡æåéä¼ æ·è®¾äºç¦å·è³å°æ¹¾çæµ·åºçµç¼ï¼æ¯ä¸å½é¦æ¡æµ·åºçµç¼ã1884å¹´ï¼åäº¬çµæ¥å¼å§å»ºè®¾ï¼éç¨"å®è®¾å线ï¼ç±éå·å±è³äº¬åï¼ä»¥ä¸ç«¯å¼å
¥ç½²ä¸ï¼ä¸éå®ä¿¡ï¼ä»¥ä¸ç«¯æ©å°å®ç½®ç¨ä¾¿åæ°"ï¼åå¹´8æ5æ¥ï¼çµæ¥çº¿è·¯å¼å§å»ºè®¾ï¼ææçµçº¿æä¸å¾æ¼æçº¢è²ã8æ22æ¥ï¼ä½äºåäº¬å´æé¨å¤å¤§è¡è¥¿çåé¹è¡åçå¤ååç¨çµæ¥å±å¼ä¸ãåå¹´8æ30æ¥ï¼ä½äºå´æé¨å
泡åå以西çåå
¬å å¼å±ï¼ä¸é¨æ¶å宿¹çµæ¥ã
>为äºä¼ è¾¾æ±åï¼çµæ¥é¨é¨åå¤ç±4使°åæ3ä½ç½é©¬åææç代ç ï¼å³ä¸æçµç ï¼éç¨åéåå°æ±åæ¹åæçµç ååºï¼æ¶çµæ¥ååå°çµç æ¹åææ±åçæ¹æ³ã
åä½ç宿³¨æäºï¼è¿éåºç°äºçµæ¥ä¸ç¨çâ[䏿çµç ](http://zh.wikipedia.org/wiki/%E4%B8%AD%E6%96%87%E9%9B%BB%E7%A2%BC)âï¼è¿å°±æ¯ä¸ç§ç¼ç ï¼å°æ±åå¯¹åºæé¿æä¼¯æ°åï¼ä»èè½å¤ç¨çµæ¥åéæ±åã
>1873å¹´,æ³å½é©»å人åå¨åºæ°åç
§ã康çåå
¸ãçé¨é¦æåæ¹æ³,æéäºå¸¸ç¨æ±å6800å¤ä¸ª,ç¼æäºç¬¬ä¸é¨æ±åçµç æ¬ãçµæ¥æ°ä¹¦ãã
çµæ¥ä¸çç¼ç 被称为[æ©å°æ¯çµç ï¼è±ææ¯Morse Code](http://zh.wikipedia.org/wiki/%E6%91%A9%E6%96%AF%E7%94%B5%E7%A0%81)
>æ©å°æ¯çµç ï¼è±è¯ï¼Morse Codeï¼æ¯ä¸ç§æ¶éæ¶æçä¿¡å·ä»£ç ï¼éè¿ä¸åçæåé¡ºåºæ¥è¡¨è¾¾ä¸åçè±æåæ¯ãæ°ååæ ç¹ç¬¦å·ãæ¯ç±ç¾å½äººè¨ç¼ªå°Â·æ©å°æ¯å¨1836å¹´åæã
>æ©å°æ¯çµç æ¯ä¸ç§æ©æçæ°ååéä¿¡å½¢å¼ï¼ä½æ¯å®ä¸åäºç°ä»£åªä½¿ç¨0å1两ç§ç¶æçäºè¿å¶ä»£ç ï¼å®ç代ç å
æ¬äºç§ï¼ç¹ï¼.ï¼ãåï¼-ï¼ãæ¯ä¸ªå符é´ççåé¡¿ï¼å¨ç¹ååä¹é´çåé¡¿ï¼ãæ¯ä¸ªè¯ä¹é´ä¸ççåé¡¿ã以åå¥åä¹é´é¿çåé¡¿
çæ¥çµæ¥åæ¯ä¸ä¸ªææ¯æ´»ï¼ä¸åé¿ççåé¡¿é½ä»£è¡¨äºä¸åææãå¦ï¼å¯¹äºï¼æä¸ä¸ªèçåãæ°¸ä¸æ¶éççµæ³¢ãï¼çå®ä¹åä¿è¯ä½ æç¥éï¼é颿 ¹æ¬å°±æ²¡æè®²çµæ¥æ¯æä¹ç¼ç çã
>æ©å°æ¯çµç 卿µ·äºé讯ä¸è¢«ä½ä¸ºå½é
æ åä¸ç´ä½¿ç¨å°1999å¹´ã1997å¹´ï¼å½æ³å½æµ·ååæ¢ä½¿ç¨æ©å°æ¯çµç æ¶ï¼åéçæå䏿¡æ¶æ¯æ¯ï¼âææäººæ³¨æï¼è¿æ¯æä»¬å¨æ°¸è¿æ²å¯ä¹åæåçä¸å£°ååï¼â

æçªçç¼çäºèé¿æ¶é´ï¼è¿ä¸¤è¡ä¸æ¯ä¸æ ·çåï¼
ä¸ç®¡è¿ä¸ªäºï¼æ»ä¹ï¼è¿å°±æ¯ç¼ç ã
##è®¡ç®æºä¸çå符ç¼ç
å
æä¸æ®µ[ç»´åºç¾ç§å¯¹å符ç¼ç ](http://zh.wikipedia.org/wiki/%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81)çè§£éï¼
>å符ç¼ç ï¼è±è¯ï¼Character encodingï¼ãåéç æ¯æå符éä¸çå符ç¼ç 为æå®éå䏿ä¸å¯¹è±¡ï¼ä¾å¦ï¼æ¯ç¹æ¨¡å¼ãèªç¶æ°ä¸²è¡ã8ä½ç»æè
çµèå²ï¼ï¼ä»¥ä¾¿ææ¬å¨è®¡ç®æºä¸åå¨åéè¿éä¿¡ç½ç»çä¼ éã常è§çä¾åå
æ¬å°æä¸åæ¯è¡¨ç¼ç ææ©æ¯çµç åASCIIãå
¶ä¸ï¼ASCIIå°åæ¯ãæ°ååå
¶å®ç¬¦å·ç¼å·ï¼å¹¶ç¨7æ¯ç¹çäºè¿å¶æ¥è¡¨ç¤ºè¿ä¸ªæ´æ°ãé常ä¼é¢å¤ä½¿ç¨ä¸ä¸ªæ©å
çæ¯ç¹ï¼ä»¥ä¾¿äºä»¥1个åèçæ¹å¼åå¨ã
>å¨è®¡ç®æºææ¯åå±çæ©æï¼å¦ASCIIï¼1963å¹´ï¼åEBCDICï¼1964å¹´ï¼è¿æ ·çå符é鿏æä¸ºæ åãä½è¿äºå符éçå±éå¾å¿«å°±å徿æ¾ï¼äºæ¯äººä»¬å¼åäºè®¸å¤æ¹æ³æ¥æ©å±å®ä»¬ãå¯¹äºæ¯æå
æ¬ä¸äºCJKå符家æå¨å
çåä½ç³»ç»çè¦æ±è½æ¯ææ´å¤§éçå符ï¼å¹¶ä¸éè¦ä¸ç§ç³»ç»è䏿¯ä¸´æ¶çæ¹æ³å®ç°è¿äºå符çç¼ç ã
å¨è¿ä¸ªä¸çä¸ï¼æå¥½å¤ä¸åçå符ç¼ç ã使¯ï¼å®ä»¬ä¸æ¯èªå·±é便ææçãèæ¯è¦æä¸å®çåºç¡ï¼å¾å¾æ¯ä»¥åå«[ASCII](http://zh.wikipedia.org/wiki/ASCII)çç¼ç 为åºç¡ï¼è¿éè¾¹ä¹åºè¯¥å
æ¬åæé²å§ï¼ä¸ç¥éä»ä»¬ç¨ä»ä¹å符ç¼ç ï¼çæ³çï¼å«å½çï¼ä¸ä»£è¡¨æ¬ææç«åºï¼åªä»£è¡¨çæ³ï¼ã
>ASCIIï¼pronunciation: è±è¯åé³ï¼/Ëæski/ ASS-kee[1]ï¼American Standard Code for Information Interchangeï¼ç¾å½ä¿¡æ¯äº¤æ¢æ å代ç ï¼æ¯åºäºæä¸åæ¯çä¸å¥çµèç¼ç ç³»ç»ãå®ä¸»è¦ç¨äºæ¾ç¤ºç°ä»£è±è¯ï¼èå
¶æ©å±çæ¬EASCIIåå¯ä»¥é¨åæ¯æå
¶ä»è¥¿æ¬§è¯è¨ï¼å¹¶çåäºå½é
æ åISO/IEC 646ãç±äºä¸ç»´ç½ä½¿å¾ASCII广为éç¨ï¼ç´å°2007å¹´12æï¼éæ¸è¢«Unicodeå代ã
ä¸é¢ç弿ä¸å·²ç»è¯´äºï¼ç°å¨æä»¬ç¨çç¼ç æ åï¼å·²ç»ä¸æ¯ASCIIäºï¼æä¸å¤§å¦é£æ¶åèå¸è®²çè¿æ¯ASCIIå¢(æåç¹çæ¯è´µå½ç大妿è²ï¼åå 天é¢è¯ä¸ä¸ªå¤§å¦æ¯ä¸çï¼è®¡ç®æºä¸ä¸çï¼ä»åè¯æä»çèå¸ç»ä»ä»¬è®²çå°±æ¯ASCII为ç¼ç æ åå¢ï¼æè¯´ä½ å«åæ±°èå¸äºï¼ä½ å»ççææï¼ä»å¤©è¿å¥ä»¬çç»æåçä¿¡äºï¼åè¯æææä¸å°±æ¯è¿ä¹è¯´çã)ï¼æ¶ä»£åè¿ï¼ç°å¨å·²ç»åæäºUnicodeäºï¼é£ä¹ä»ä¹æ¯Unicodeç¼ç å¢ï¼è¿æ¯æä¸æ®µæ¥èª[ç»´åºç¾ç§ç说æ](http://zh.wikipedia.org/wiki/Unicode)ï¼éè¦è¯´æä¸ä¸ï¼æ¬è®²ä¸æ¯æqiwsirå¨è®²ï¼æ¯ç»´åºç¾ç§å¨è®²ï¼æåªæ¯ä¸ä¸ªé
è§ï¼ååï¼
>Unicodeï¼ä¸æï¼ä¸å½ç ãå½é
ç ãç»ä¸ç ãåä¸ç ï¼æ¯è®¡ç®æºç§å¦é¢åéçä¸é¡¹ä¸çæ åãå®å¯¹ä¸çä¸å¤§é¨åçæåç³»ç»è¿è¡äºæ´çãç¼ç ï¼ä½¿å¾çµèå¯ä»¥ç¨æ´ä¸ºç®åçæ¹å¼æ¥åç°åå¤çæåã
>Unicodeä¼´éçéç¨å符éçæ åèåå±ï¼åæ¶ä¹ä»¥ä¹¦æ¬çå½¢å¼å¯¹å¤å表ãUnicodeè³ä»ä»å¨ä¸æå¢ä¿®ï¼æ¯ä¸ªæ°çæ¬é½å å
¥æ´å¤æ°çå符ãç®åææ°ççæ¬ä¸º7.0.0ï¼å·²æ¶å
¥è¶
è¿åä¸ä¸ªå符ï¼ç¬¬åä¸ä¸ªå符å¨2005å¹´è·é纳ï¼ãUnicodeæ¶µççæ°æ®é¤äºè§è§ä¸çåå½¢ãç¼ç æ¹æ³ãæ åçå符ç¼ç å¤ï¼è¿å
å«äºåç¬¦ç¹æ§ï¼å¦å¤§å°å忝ã
å¬è¿ååï¼ä¸å½ç ï¼é£å°±ä¸å®å
å«äºä¸æå½ãçç¡®æ¯ã使¯ï¼å
æä¸ä¸ªUnicodeè¿ä¸è¡ï¼å 为....ï¼æ¤å¤çç¥è¥å¹²åï¼çå®å¯ä»¥å°ä¸é¢ç»åºçç»´åºç¾ç§è¿æ¥ä¸çï¼ï¼è¿è¦æå
¶å®çä¸äºç¼ç å®ç°æ¹å¼ï¼Unicodeçå®ç°æ¹å¼ç§°ä¸ºUnicodeè½¬æ¢æ ¼å¼ï¼Unicode Transformation Formatï¼ç®ç§°ä¸ºUTFï¼ï¼äºæ¯ä¹æäºä¸ä¸ªæä»¬å¨å¾å¤æ¶åé½ä¼çå°çutf-8ã
ä»ä¹æ¯utf-8ï¼è¿æ¯ç[ç»´åºç¾ç§](http://zh.wikipedia.org/wiki/UTF-8)䏿ä¹è¯´çå§
>UTF-8ï¼8-bit Unicode Transformation Formatï¼æ¯ä¸ç§é对Unicodeçå¯åé¿åº¦å符ç¼ç ï¼ä¹æ¯ä¸ç§åç¼ç ãå®å¯ä»¥ç¨æ¥è¡¨ç¤ºUnicodeæ åä¸çä»»ä½å符ï¼ä¸å
¶ç¼ç ä¸ç第ä¸ä¸ªåèä»ä¸ASCIIå
¼å®¹ï¼è¿ä½¿å¾åæ¥å¤çASCIIå符ç软件æ é¡»æåªé¡»åå°é¨ä»½ä¿®æ¹ï¼å³å¯ç»§ç»ä½¿ç¨ãå æ¤ï¼å®éæ¸æä¸ºçµåé®ä»¶ãç½é¡µåå
¶ä»å卿åéæåçåºç¨ä¸ï¼ä¼å
éç¨çç¼ç ã
ä¸åå¤å¼ç¨äºï¼å¦æè¦çæ´å¤ï¼è¯·å°åæã
çå®ç°å¨æ¯ä¸æ¯å°±çè§£äºï¼åé¢åç¨åºçæ¶åï¼æ¾ç»åºç°è¿ï¼coding:utf-8çåæ ·ãå°±æ¯å¨åè¯pythonæä»¬è¦ç¨ä»ä¹å符ç¼ç å¢ã
##encodeådecode
åå²é¨å说å®äºï¼æ¥ä¸æä¹è®²ï¼æ¯è¾éº»ç¦äºãå 为ä¸ç®¡æä¹è®²ï¼é½ä¸æ¯ä¸è¨ä¸¤è¯è¯´æ¸
æ¥çãå§ä¸ä»encode()ådecode()两个å
ç½®å½æ°èµ·å§ã
>codecs.encode(obj[, encoding[, errors]]):Encodes obj using the codec registered for encoding.
>codecs.decode(obj[, encoding[, errors]]):Decodes obj using the codec registered for encoding.
python2é»è®¤çç¼ç æ¯asciiï¼éè¿encodeå¯ä»¥å°å¯¹è±¡çç¼ç 转æ¢ä¸ºæå®ç¼ç æ ¼å¼ï¼èdecodeæ¯è¿ä¸ªè¿ç¨çéè¿ç¨ã
åä¸ä¸ªå®éªï¼æè½çè§£ï¼
>>> a = "ä¸"
>>> type(a)