自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

中文編碼雜談

開(kāi)發(fā) 后端 前端
?úwindows×?′?μ?notepad£¨??ê?±?£?3ìDò?Dê?è??°áaí¨?±á???×?£?±£′?oó?ù′?′ò?a£??á·¢???°áaí¨?±2???á?£?′ú??ò??°??ͨ?±μ??ò???£?aê? windows??ì¨é?μ?Díμ??D??±à???êìa?£?′???t±£′?μ?ê±oòê?°′??ANSI±à??£¨??êμ?íê?GB2312£?oó???á?ê???ééü£?±£′?£?′ò?aμ?ê±oò3ìDò°′?? UTF-8·?ê????úèY?aêí£?óúê??í3???á??ò???£±ü?a?ò??μ?·?ê?oü?òμ¥£??ú?°???t?±2?μ¥?D?????°′ò?a?±?üá?£?????±£′?μ????t£?è?oó?????°ANSI?±±à??£?′? ê±?í?ü?′μ????¥μ??°áaí¨?±á???×?á??£

±à???êìaμ?ày×ó

?úwindows×?′?μ?notepad£¨??ê?±?£?3ìDò?Dê?è?“áaí¨”á???×?£?±£′?oó?ù′?′ò?a£??á·¢??“áaí¨”2???á?£?′ú??ò?“??ͨ”μ??ò???£?aê? windows??ì¨é?μ?Díμ??D??±à???êìa?£?′???t±£′?μ?ê±oòê?°′??ANSI±à??£¨??êμ?íê?GB2312£?oó???á?ê???ééü£?±£′?£?′ò?aμ?ê±oò3ìDò°′?? UTF-8·?ê????úèY?aêí£?óúê??í3???á??ò???£±ü?a?ò??μ?·?ê?oü?òμ¥£??ú“???t”2?μ¥?D????“′ò?a”?üá?£?????±£′?μ????t£?è?oó????“ANSI”±à??£?′? ê±?í?ü?′μ????¥μ?“áaí¨”á???×?á??£

?úLinux??ì¨é?è?1?ê1ó?catμè?üá?2é?′???t?Dμ??D???úèYê±£??é?ü3????ò???£?aò2ê?±à??μ??êìa?£?òμ¥μ??μê????tê±°′??A±à??±£′?£?μ?ê?cat?üá?°′??μ±?°Localeéè?¨μ?B±à??è¥2é?′£??úBoíA2???èYμ?ê±oò?í3???á??ò???£

?aê2?′D′?a?a????

?D??±à??óéóúàúê·?-òò?£3?μ?2?éù±ê×?£??ú2?á??aμ?ê±oò?D??ò?í·?í??£?μ???êμàí?a±à???êìa2¢2?Dèòa??é?è?á??a?÷??±à??±ê×?£???òa???÷°×á?à′áúè¥??£?á? ?aá?1??üμ??aê?μ?£??í?ü·???oí?a??è?3£?a·¢1¤×÷?D??μ?μ?′ó2?·?±à???êìa?£óD?Dóú?ò?′1yμ?×êá?oí????òa?′2?1?è???£?òa?′?????Y??£??ùò?í¨1y?a?a??????????±ê ???úè?3£1¤×÷?D??μ?μ??D??±à???-àí?à1??êìa£???μ??÷òaê?×??ò×ü?á£?è?1??ü???á??ìá1?ò?D?°??ú???í??ê?òaía???2á??£óéóú???÷μ?±à??±ê×????òà′?μê??Tè¤μ?£??Y ??μ?£???ò???ò?μ?£?±???3¢ê?ó??3??ò×??μ?éú??ó????aêí?D??±à???à1?μ?£¨ò2?é?ü2??à1?μ?£?ò?D??êìa£??aò2ê??aê2?′è????óì?μ??-òò?£±??????¨′??ú2?1?·?2?è??? μ?μ?·?£??ò?á?ú2???×êá?à???3?1ù·???μμμ?á′?ó£?ò2??ó-?á???ú?à???Dìá3??üo?μ?±í′?·?ê?&??3?′í?ó£?2?ê¤?D?¤?£

??±à???êìaμ?àí?a?òè??a·??aèy??2?′?£?μúò???2?′?£o????£??aμà?÷??±à??±ê×?μ?ó|ó?3??°£?á??a????μ?2?òì£??ü·???oí?a??3£??μ?ò?D?±à???êìa?£μú?t??2? ′?£o±ê×?£?????±à??μ????ú£?è?±à??·??§£?±à??×a??1??ò£??aμà?aD??í?ü×?DD?a·¢±à??×a??1¤???£μúèy??2?′?£?ê1ó?£?á??a?D??μ?±à??2????′?′¢£??ú3ìDò?a·¢1y3ì ?D????o?àíμ?±à??2¢′|àí?D???£?aá?±ü?aè??á???Yè?±à??±ê×?μ?oú?′?T·¨í?éí£¨2??àD?£??′?′unicodeμ?1?·??í?÷°×?òμ?òa??á?£?£?í?ê±óéóú±à??2é ?ˉ&×a??1¤??μè??óD??3é1¤???éò?ê1ó?£?±?????é??°μúò???2?′?£?2?é??°μú?t2?′?£??úμúèy2?′?é??á×?ò?D?3¢ê??£?ú±???μ?×?oóìá1?á??à1?á′?ó1???±ê×??? ?ú?DD?è¤μ?í??§?ìD??§?°?£×?oó£?±???2?é??°??ì?èí?tμ??ò???êìa?a??£?è?ssh£?shell£?vim£?screenμè£??aD??°ìaá????£oàí??§×¨??2?ê??£

ò??D??ê?òò?aμ???2?ê?×?

μ???oü′??÷£??éò?°??ò??×?oü?àê??é£?×??aê??÷òaê????§????£??aò2ê??aê2?′μ???±e???????ú?£μ???ó?oü±?£??ú?yμ???×óà???óDêy×?£??′?ùóDμ?êy?Y?ú′?′¢oí ????ê±??òaê1ó??t????êy±íê??£?a?ú×?3?μ????÷òaó?à′′|àí′óá??′?óμ????§????ê±2?ê?ê2?′′ó?êìaμ?ê?μ±μ????e2?×?è???í¨è?μ?éú??ê±£??é???aê?±??aá??£°ì1?×??ˉ ?ˉμèáìóò×??÷òaμ?Dè?ó?íê???×?′|àí£?μ???è?o?à′±íê???×???£??a???êìaμ±è???2?μ1′??÷μ??????ú???§?ò??£?ó?êy×?à′′ú±í×?·????£?a?íê?“±à??”?£

ó¢??μ??????a??·?°?£oASCII

????è????éò????¨×??oμ?ò?ì×±à??£???òaê1ó?·?????á??a?íoká??£±èè??μ??á????¨0×10±íê?a£?0×11±íê?b?£?úò??aê?ò2μ?è·ê??a?ùμ?£?3???á??÷ ê??÷?ùμ?±à???£?a?ùóDá????êìa£o1.?÷??±à??μ?×?·??ˉ2?ò??ù£?óDμ??à£?óDμ?éù?£2.?àí?×?·?μ?±à??ò22?ò??ù?£???aà?aê?0×10.????à?a?é?üê? 0×30?£óúê???±£′?μ????t???í2??ü?±?óó?£?±?D?òa×a??±à???£??×?1μí¨·??§μ?à?′ó£?2éó?2?í?±à??μ?è????¥?àí¨D??í?òì×á?£??a?íê??ò??3£?μμ?£o?|í????2?£è? 1?òa±ü?a?a???ì?ò£????′′ó?ò?í±?D?ê1ó??àí?μ?±à??1??ò£?óúê??à1úóD1?μ?±ê×??ˉ×é?ˉ?í3?ì¨á?ASCII£¨American Standard Code for Information Interchange£?±à??£?í3ò?1??¨á?ó¢??3£ó?·?o?ó???D??t????êyà′±íê??£ASCIIê?±ê×?μ?μ¥×??ú×?·?±à??·?°?£?ó?óú?ùóú??±?μ?êy?Y?£

ASCII×?3?ê??à1ú1ú?ò±ê×?£?1?2?í??????ú?ú?à?¥í¨D?ê±ó?×÷12í?×?ê?μ??÷??×?·?±à??±ê×?£?ò?±?1ú?ê±ê×??ˉ×é?ˉ£¨International Organization for Standardization, ISO£??¨?a1ú?ê±ê×?£?3??aISO 646±ê×??£êêó?óú?ùóDà-????×?×????£ASCII ??ê1ó????¨μ?7 ???ò8 ???t????êy×éo?à′±íê?128 ?ò256 ???é?üμ?×?·??£±ê×?ASCII ??ò2?D?ù′?ASCII??£?ê1ó?7 ???t????êyà′±íê??ùóDμ?′óD′oíD?D′×???£?êy×?0 μ?9?¢±êμ?·?o?£? ò??°?ú?àê?ó¢ó??Dê1ó?μ?ì?êa????×?·??£??×??????a1μ?áí128??×?·?£¨80H—FFH£?±?3??a“à??1ASCII”£?ò?°?ó?à′′?·?ó¢??μ???±í·??¢2?·?ò?±ê×? ·?μèμèμ?ò?D????ü·?o??£

???D£o0??31127(1233??)ê?????×?·??òí¨D?רó?×?·?£¨??óà?a?é??ê?×?·?£?£?32??126(1295??)ê?×?·?(32ê?????£?£????D48??57?a0μ?9ê???°¢à-2?êy×?£?65??90?a26??′óD′ó¢??×???£?97??122o??a26??D?D′ó¢??×???£???óà?aò?D?±êμ?·?o??¢????·?o?μè?£

ascii ±à??±í

???ú?ùóDê1ó?ó¢??μ?μ?????óú?éò?ó?í?ò???±à??à′??á÷á??£àí?aá?ASCII±à??£?????×???Díμ?ó???±à??·?°??í′¥àà??í¨á??£

#p#

ò?2¨èy??μ??D??±à??

μúò?′?3¢ê?£oGB2312

ASCII?a??×?·?±à??1??ò??è?ó?à′′|àíó¢????óDê2?′?êìa£??üμ?3?????′óμ?′ù??á?D??¢?ú?÷·?óè??ê??à1úμ?′?2¥oí??á÷?£μ?ê???óú?D??£?3£ó?oo×??íóD 6000ò?é?£?ASCII μ¥×??ú±à????è?ê?2?1?ó??£?aá?·??é?àμ?1ú?÷ò?í¨1y±à???T???D1úè???ê1ó?μ???μ??T3üò??±£??D1ú1ú?ò±ê×?×ü??·¢2?á?GB2312???′?D?aè???12oí1ú1ú?òoo×?D? ?¢????ó?±à??£?è?3???D??¢????ó?oo×?±à??×?·??ˉ——?ù±??ˉ?·£?1981?ê5??1è?êμê?£?í¨DDóú′ó???£GB2312×?·??ˉ?D3y3£ó??òì?oo×?×?·?ía?1°üà¨?£à° ×????¢è??????ù???°???ù??×????¢?íó??÷à???×???μè×?·?£??′ê???·±ì??D??oo×?oíò?D?éú?§×??£ EUC-CN?éò?àí?a?aGB2312μ?±e??£?oíGB2312íê è??àí??£

GB2312ê??ùóú??????éè??μ?£??ú??????μ???o?oí??o?é?·?±e?óé?A0H?íμ?μ?á?GB2312±à???£?aà?μúò?′?ìáμ?á?“??????”£??ò?íá?′?°??????a????è?è??t2?μ?í·??μ?XX??ò?1???á?°é£o

??????£?1ú±ê??£???????£??ú??£?ía??

??????£o?íê?°??D??3£ó?μ?·?o?£?êy×?£?oo×?μè·???±eàà??DD±à???£??????°?±à??±í·??a94????£?????????ó|94?? ??£??????????í·?ò???×?·?£¨oo×?£?·?o?£?êy×???ê?óú×?·?£??£?a?ù????×?·?μ???o?oí??o?×éo??eà′?í3é?a??oo×?μ????????£??????ò?°?ó?10????êyà′±íê?£?è? 4907?í±íê?49??7??£???ó|μ?×?·?ê?“?§”?£???????D01-09??ê?·?o??¢êy×???£?16-87??ê?oo×???£?10-15oí88-94ê??′?¨ò?μ???°×???£ ?ü??ê???μ?oo×?·?3éá???£oμúò???ê?3£ó?oo×???3755??£???óú16-55??£?°′ooó??′ò?×???/±êD??3Dò??áD£?μú?t??oo×?ê?′?3£ó?oo×???3008??£???óú 56-87??£?°′2?ê×/±ê?-?3Dò??áD?£?úí?é????÷“??????2é?ˉ?μí3”?éò?oü·?±?μ??òμ?oo×?oí??ó|??????×a??μ?1¤???£?aá?±ü?a1????óòéoí?àá′£??aà??í2??ùày á??£

1ú±ê??£o ???????T·¨ó?óúoo×?í¨D?£?òò?a?ü?é?üó?í¨D?ê1ó?μ???????£¨00H~1FH£?£¨?′0~31£??1??μ? ASCII??ì?êa×?·?μ?·??§?e£?£?·¢éú3?í??£óúê?ISO20221??¨????oo×?μ???o?oí??o?±?D?·?±e?óé?32£¨?′?t????êy00100000£?16???? 20H£?£?μ?μ???ó|μ?1ú±ê??????£??ò3?1ú±ê??£???????£?òò′?£?“?§”×?μ?1ú±ê???????????a£o

  00110001 00000111
+ 00100000 00100000
-------------------
  01010001 00100111

ó?ê?áù????êy±íê??′?a5127H?£

??????£o?′1ú±ê??????μ??ò3?£?μèí?é????μμ?1ú±ê???£

?ú??£oóéóú??±??Dí¨3£?ìo?ê1ó?oo×?oí?÷??×?·?£?oo×?D??¢è?1?2?óèò?ì?±e±êê?£??í?áó?μ¥×??úμ?ASCII???ì?y?£ ′??êìaμ??a??·?·¨??ò?ê???ò???oo×??′3éê?á???à??1ASCII??£?ê1±íê?GB2312oo×?μ?á???×??úμ?×????????a1?£?′1ú±ê???óé?128£¨?′?t????êy 10000000,16????80H£??a???????a1μ???×??úoo×?±à???′?aGB2312oo×?μ??ú?ú??£??ò3??a?ú???£20H+80H=A0H?£?aò2?íê?3£?μμ??ú ??????μ???o?oí??o?é?·?±e?óé?A0H?íμ?μ?á?GB2312±à??μ?óéà′?£

  00110001 00000111
+ 10100000 10100000
   -------------------
  11010001 10100111

ó?ê?áù????êy±íê??′?aD1A7H?£

ía??£o?úía??μ??ò3?,?íê?oo×?ê?è???£?ê??aá?í¨1y?ü?ì×?·?°?oo×?ê?è??????ú??éè??μ?ò???±à???£ ó¢??ê?è?ê±£??àê?è?ê2?′×?·?±?°′ê2?′?ü£?ía??oí?ú??ò????£oo×?ê?è?ê±£??é?üòa°′?????ü2??üê?è?ò???oo×??£ oo×?ê?è?·?°?óD3é°ùé??§??£?μ?ê??a?§2?íò±eμ?ía??ê?è????????úoó???á×a??3éí3ò?μ??ú???£

×?oó×ü?áò???é???μ??????£?D1ú1ú?ò±ê×?×ü??°??D??3£ó?×?·?±à???a94????£?????????ó|94????£?????×?·?μ???o?oí??o?×éo??eà′?íê???×?·?μ???????, ??????ó?10????êyà′±íê?£?è?4907?í±íê?49??7??£???ó|μ?×?·?ê?“?§”?£ óéóú??????μ?è??μ·??§ó?í¨D?ê1ó?μ???????£¨00H~1FH£?£¨?′0~31£?·¢éú3?í??£????oo×?μ???o?oí??o?·?±e?óé?32£¨?′16????20H£?μ?μ?1ú±ê??£????????£“?§”μ?1ú±ê???a5127H?£óéóú??±??Dí¨3£?ìo?ê1ó?oo×?oí?÷??×?·?£??aá?è?oo×?D??¢2??áó?μ¥×??úμ?ASCII???ì?y£???ò???oo×??′3éê?á???à??1ASCII??£??′oo×?μ?á???×??úμ?×????????a1£?μ?μ?μ?±à???aGB2312oo×?μ??ú???£“?§”μ??ú???aD1A7H?£?T????ê1ó?ê2?′ê?è?·¨£?í¨1yê2?′?ùμ?°′?ü×éo?°?“?§”ê?è??????ú£?“?§”?úê1ó?GB2312£¨ò??°??èYGB2312£?±à??μ??????úà?μ??ú????ê?D1A7H?£

μú?t′?3¢ê?£oGBK

GB2312μ?3????ù±??ú×?á?oo×?μ??????ú′|àíDèòa£?μ?óéóúé???ìáμ??′ê???·±ì?×?oíéú?§×?£?′ó??2??ü′|àíè????¢1?ooó?μè·???3???μ?o±ó?×?£??aμ???á? 1995?ê??oo×?±à??à??11?·??·£¨GBK£?μ?3????£GBK±à??ê?GB2312±à??μ?3??ˉ£??ò??íêè???èYGB2312£???èYμ?o?ò?ê?2???×?·???èY£????ò?àí? ×?·?μ?±à??ò2?àí?£?í?ê±?ú×???ò????§3?ISO/IEC10646—1oíGB 13000—1μ?è?2??D?¢è??¢o?£¨CJK£?oo×?£?12??20902×??£GBK?1ê???á?GB23122?°üo?μ?oo×?2?ê×·?o??¢êú??±êμ?·?o?μè×?·??£CP936oí GBKμ?óDD?Dí2?±e£???′ó?àêy?é?????éò?°?CP936μ±×÷GBKμ?±e???£

μúèy′?3¢ê?£oGB18030

GB18030±à???ò????èYGBKoíGB2312?£GB18030ê???á??ùóDUnicode3.1?Dμ?×?·?£?°üà¨?D1úéùêy??×?×?·?£?GBK2??§3?μ? o???×?·?μèμè£?ò2?éò??μê?êà??′ó?à??×?μ???×?·?o???±?ê????ú?ú?£GBKoíGB2312??ê???×??úμè?í±à??£?è?1???é?oíASCII??èY?ù?§3?μ?μ¥×??ú£?ò2?é ò?àí?a?aê?μ¥×??úoí??×??ú?ìo?μ?±?3¤±à???£GB18030±à??ê?±?3¤±à??£?óDμ¥×??ú?¢??×??úoí??×??úèy??·?ê??£

??êμ£??aèy??±ê×?2¢2?Dèòa?à??ó2±3£???Dèòaá??aê??ù?Yó|ó?Dè?ó2???à??1±à??·??§?′?é?£′óGB2312μ?GBK?ùμ?GB18030ê???μ?×?·???à′???à ?′?é?£íòDòμ?ê?ò??±ê??ò????èYμ?£?ò2?íê??μò???oo×??ú?aèy??±à??±ê×?à?μ?±à??ê?ò??£ò??ùμ??£?aD?±à??μ?12D?ê?±?3¤±à??£?μ¥×??úASCII??èY£???????×?·? GB2312oíGBK??ê1ó???×??úμè?í±à??£???óDGB18030?1óD??×??ú±à??μ?·?ê??£?aD?±à??×?′óμ??êìaê?2???£1.óéóúμí×??úμ?±à??·??§oíASCII óD??o?£??ùò?2??ü?ù?Yò???×??úμ??úèY?D??ê??D??μ?ò?2?·??1ê?ò????àá¢μ?ó¢??×?·??£2.è?1?óDá???oo×?±à???aA1A2B1B2£?′??úA2B1ò2ê?ò???óDD§oo ×?±à??μ?ì?êa?é???£?a?ù?í2??ü?±?óê1ó?±ê×?μ?×?·?′??¥??oˉêyà′?D??ò???×?·?′?à?ê?·?°üo??3ò???oo×?£???Dèòa?è?D??×?·?±???è?oó2??ü??DD×?·??¥???D???£

×?oó£?ìáò???D?2??ú£?é????2μ???ê?′ó??í?DDμ?oo×?±à??±ê×?£?ê1ó?·±ì?μ??D??é?èo?D×?3£ó?μ?μ???oo×?×?·??ˉ±ê ×??D′ó????£¨Big5£?£?12ê???13,060???D??×?£????DóD?t×??a???2±à??(êμ?úê?2?ó|??)?£Big5?????°óú?D1úμ?ì¨í??¢????ó?°???μè·±ì??D??í¨DD ??£?μ?3¤?úò?à′2¢·?μ±μ?μ?1ú?ò±ê×?£?????ê?òμ??±ê×??£òDìì?D???μí3?¢Windowsμè?÷òa?μí3μ?×?·??ˉ??ê?ò?Big5?a?ù×?£?μ?3§éìó??÷×???é?£??üéú3é?à ??2?í?°?±??£2003?ê£?Big5±?ê???μ?ì¨í?1ù·?±ê×?μ?????μ±?D£?è?μ?á????yê?μ?μ????£?a??×?D?°?±?±?3??aBig5-2003?£

ìì??1éò?Unicode

?′á?é???μ??à???D??±à??ê?2?ê?óDμ?í·??á???£?è?1?°??a???êìa·?μ?è?êà??n?à??1ú?òn?àó?????£??÷1úoí?÷μ???×??oμ???×?±à??1??ò?¥?à3?í?μ??é??è??òD??¢????′?à′á?oü′óμ??é·3?£

òa???y31μ×?a???a???êìa£?é????ééüμ???D?í¨1yà??1ASCIIDTDT2121μ?·?ê?ò??-×?2?í¨á?£???±?D?óDò???è?D?μ?±à???μí3£??a???μí3òa?éò????D???¢è? ???¢·¨???¢μ???……μèμè?ùóDμ???×?í3ò??eà′????£??a??ò?????×???·???ò???μ¥?àμ?±à???£óúê?£?Unicodeμ?éúá??£Unicode£¨í3ò????¢íò1ú???¢μ¥ò? ??£??aμ??òé?£¨ò?oó?á°üà¨?eD?£??eD?£??÷D?μè£?????ó????Dμ?????×?·?éè?¨á?í3ò?2¢?ò?¨ò?μ??t????±à??£?ò??ú×???ó????¢????ì¨??DD??±?×a???¢′|àíμ?òa?ó?£?ú Unicodeà?£??ùóDμ?×?·?±?ò?êóí?èê£?oo×?2??ùê1ó?“á???à??1ASCII”£???ê?ê1ó?“1??Unicode”à′±íê?£?ò2?íê??μ£??ùóDμ???×???°′ò???×? ·?à′′|àí£??ü????óDò????¨ò?μ?Unicode???£Unicodeó?êy×?0-0x10FFFFà′ó3é??aD?×?·?£?×??à?éò?èY?é1114112??×?·?£??ò???μóD 1114112??????£¨?????íê??éò?·?????×?·?μ?êy×?£??£

ìáμ?Unicode2??ü2?ìáUCS£¨í¨ó?×?·??ˉUniversal Character Set£??£UCSê?óéISO???¨μ?ISO 10646£¨?ò3?ISO/IEC 10646£?±ê×??ù?¨ò?μ?±ê×?×?·??ˉ?£UCS-2ó?á???×??ú±à??£?UCS-4ó?4??×??ú±à???£Unicodeê?óéunicode.org???¨μ?±à???ú ??£?ISOó?unicode.orgê?á???2?í?μ?×é?ˉ, ??è?×?3????¨á?2?í?μ?±ê×?; μ???±êê?ò???μ??£?ùò?×?′óunicode2.0?aê?, unicode2éó?á?ó?ISO 10646-1?àí?μ?×??aoí×???, ISOò23D?μISO10646??2??á??3?3?0x10FFFFμ?UCS-4±à???3?μ, ê1μ?á???±£3?ò????£′ó?ò?òμ¥è??aUCSμèí?óúUnicode?í?éò?á??£

?úUnicode?D£ooo×?“×?”??ó|μ?êy×?ê?23383?£?úUnicode?D£??ò??óDoü?à·?ê???êy×?23383±íê?3é3ìDò?Dμ?êy?Y£?°üਣoUTF- 8?¢UTF-16?¢UTF-32?£UTFê?“UCS Transformation Format”μ???D′£??éò?·-ò?3éUnicode×?·??ˉ×a????ê?£??′???ù??Unicode?¨ò?μ?êy×?×a??3é3ìDòêy?Y?£àyè?£?“oo×?”??ó|μ?êy×?ê? 0x6c49oí0x5b57£???±à??μ?3ìDòêy?Yê?£o

BYTE data_utf8[] = {0xE6, 0xB1, 0x89, 0xE5, 0xAD, 0x97}; // UTF-8±à??
WORD data_utf16[] = {0x6c49, 0x5b57}; // UTF-16±à??
DWORD data_utf32[] = {0x6c49, 0x5b57}; // UTF-32±à??

?aà?ó?BYTE?¢WORD?¢DWORD·?±e±íê??T·?o?8????êy£??T·?o?16????êyoí?T·?o?32????êy?£UTF-8?¢UTF-16?¢UTF-32·?±e ò?BYTE?¢WORD?¢DWORD×÷?a±à??μ¥???£“oo×?”μ?UTF-8±à??Dèòa6??×??ú?£“oo×?”μ?UTF-16±à??Dèòaá???WORD£?′óD?ê?4??×??ú?£ “oo×?”μ?UTF-32±à??Dèòaá???DWORD£?′óD?ê?8??×??ú?£?ù?Y×??úDòμ?2?í?£?UTF-16?éò?±?êμ???aUTF-16LE?òUTF- 16BE£?UTF-32?éò?±?êμ???aUTF-32LE?òUTF-32BE?£

#p#

?????ééüUTF-8?¢UTF-16?¢UTF-32?¢BOM?£

UTF-8

UTF-8ò?×??ú?aμ¥????Unicode??DD±à???£′óUnicodeμ?UTF-8μ?±à??·?ê?è???£o

Unicode±à??(16????)

UTF-8 ×??úá÷(?t????)

000000 – 00007F

0xxxxxxx

000080 – 0007FF

110xxxxx 10xxxxxx

000800 – 00FFFF

1110xxxx 10xxxxxx 10xxxxxx

010000 – 10FFFF

11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

UTF-8μ?ì?μ?ê???2?í?·??§μ?×?·?ê1ó?2?í?3¤?èμ?±à???£??óú0×00-0x7F????μ?×?·?£?UTF-8±à??ó?ASCII±à??íêè??àí??£UTF-8 ±à??μ?×?′ó3¤?èê?4??×??ú?£′óé?±í?éò??′3?£?4×??ú?£°?óD21??x£??′?éò?èY?é21???t????êy×??£Unicodeμ?×?′ó????0x10FFFFò2??óD21 ???£×ü?áá?ò???1??é£oUTF-8μ?μúò???×??ú?aê?μ?1μ???êy′ú±íá?×üμ?±à??×??úêy£?oóD?×??ú??ê?ò?10?aê??£óéé???μ?1??ò?éò????úμ??′3?UTF-8±à???? ·tá??D??±à??μ?á????êìa?£

ày1£o“oo”×?μ?Unicode±à??ê?0x6C49?£0x6C49?ú0×0800-0xFFFF????£?ê1ó?3×??ú?£°?á?£o1110xxxx 10xxxxxx 10xxxxxx?£??0x6C49D′3é?t????ê?£o0110 1100 0100 1001£? ó??a??±èì?á÷òà′?′úì??£°??Dμ?x£?μ?μ?£o11100110 10110001 10001001£??′E6 B1 89?£

ày2£oUnicode±à??0x20C30?ú0×010000-0x10FFFF????£?ê1ó?ó?4×??ú?£°?á?£o11110xxx 10xxxxxx 10xxxxxx 10xxxxxx?£??0x20C30D′3é21???t????êy×?£¨2?×?21???í?ú?°??210£?£o0 0010 0000 1100 0011 0000£?ó??a??±èì?á÷òà′?′úì??£°??Dμ?x£?μ?μ?£o11110000 10100000 10110000 10110000£??′F0 A0 B0 B0?£

UTF-16

UTF-16±à??ò?16???T·?o???êy?aμ¥???£?ò??°?Unicode±à????×÷U?£±à??1??òè???£o????è?1?U<0×10000£?Uμ?UTF-16 ±à???íê?U??ó|μ?16???T·?o???êy£¨?aêéD′?ò±?£???????16???T·?o???êy??×÷WORD£??£?D??·??§ 4E00-9FBF£??ùò??úUTF-16±à??à??D??2??×??ú±à???£è?1?U≥0×10000£??ò???è????U’=U-0×10000£?è?oó??U’D′3é?t????D? ê?£oyyyy yyyy yyxx xxxx xxxx£?Uμ?UTF-16±à??£¨?t????£??íê?£o110110yyyyyyyyyy 110111xxxxxxxxxx?£

UTF-32

UTF-32±à??ò?32???T·?o???êy?aμ¥???£Unicodeμ?UTF-32±à???íê?????ó|μ?32???T·?o???êy?£

×??úDò

?ù?Y×??úDò(??×??úDò2?ì?á??aμ?í??§??2???http://en.wikipedia.org/wiki/Endianness)μ?2?í?£?UTF-16?éò?±?êμ???aUTF-16LE£¨Little Endian£??òUTF-16BE£¨Big Endian£?£?UTF-32?éò?±?êμ???aUTF-32LE?òUTF-32BE?£àyè?£o

Unicode±à??

UTF-16LE

UTF-16BE

UTF-32LE

UTF-32BE

0x006C49

49 6C

6C 49

49 6C 00 00

00 00 6C 49

0x020C30

43 D8 30 DC

D8 43 DC 30

30 0C 02 00

00 02 0C 30

???′£????′?D??×??úá÷μ?×??úDò??£?Unicode±ê×??¨òéó?BOM£¨Byte Order Mark£?à′??·?×??úDò£??′?ú′?ê?×??úá÷?°£??è′?ê?±?×÷?aBOMμ?×?·?”á??í?T?D??????”?£?a??×?·?μ?±à??ê?FEFF£???·′1yà′μ?FFFE£¨UTF- 16£?oíFFFE0000£¨UTF-32£??úUnicode?D??ê??′?¨ò?μ?????£?2?ó|??3????úêμ?ê′?ê??D?£??±íê??÷??UTF±à??μ?BOM£o

UTF±à??

Byte Order Mark

UTF-8

EF BB BF

UTF-16LE

FF FE

UTF-16BE

FE FF

UTF-32LE

FF FE 00 00

UTF-32BE

00 00 FE FF

×ü?áò???£?ISOó?unicode.org????è?μ?òaê?μ???óD?aêà??é?????ó????Dμ?????×?·?éè?¨í3ò?2¢?ò?¨ò?μ??t????±à??2??ü31μ×?a???????úêà??D? ?¢??á÷?D±à??3?í?μ??êìa?£óé′?μ?éúá?UCSoíunicode£????aá???1?·?ê?ò???μ??£?úUnicodeà?£??ùóDμ?×?·?±?ò?êóí?èê£?ò2?íê??μ£??ùóDμ???×??? °′ò???×?·?à′′|àí£??ü????óDò????¨ò?μ?Unicode???£UTF-8?¢UTF-16?¢UTF-32·?±e?¨ò?á????ù??Unicode?¨ò?μ?êy×?×a??3é3ìDòêy ?Y?£UTF-8ò?×??ú?aμ¥????Unicode??DD±à??£?ò???ó¢??×?·???1??×??ú£?oo×???3??×??ú£?UTF-16ò?16???T·?o???êy?aμ¥????Unicode ??DD±à??£??D??ó¢??????2??×??ú£?UTF-32ò?32???T·?o???êy?aμ¥????Unicode??DD±à??£??D??ó¢??????4??×??ú?£?éò??úhttp://www.unicode.org/charts/unihan.html 2é?′oo×?μ?unicode??ò??°UTF-8?¢UTF-16?¢UTF-32±à???£

?D???t????′?′¢

?ééüá??a?′?àμ?±à???aê?£????yμ????t?úèYê?ê2?′?ù×óμ???£??????ò???íí¨1yêμ?é?′?′?ú±ê??Linux?ú?÷é? “?D??”?aá???×??ú2?í?μ?±à????±£′?μ????t?úèY?£????ê??òμ?êμ?é1y3ì£?óDD?è¤μ?í??§?éò??ú×??oμ??ú?÷é???×?ò????£window??ì¨é?μ??é??àà???aà??í2?×?ê?á??£

êμ?éDèòaDèòaê1ó?2??1¤??£o

  1. od 2é?′???t?úèY£ohttp://www.gnu.org/software/coreutils/manual/html_node/od-invocation.html

  2. iconv ±à??×a??1¤??£ohttp://www.gnu.org/software/libiconv/

oo×?

Unicode£¨ucs-2£?10????±íê?

Utf-8

Utf-16

Utf32

??????

GB2312/GBK/GB18030

?D

20013

E4 B8 AD

4E2D

00004E2D

5448

D6D0

??

25991

E6 96 87

6587

00006587

4636

CEC4

?ú?÷?·?3£o
os: Red Hat Enterprise Linux AS release 4
Cpu: Intel(R) Xeon(R) CPU
locale£oLC_ALL=zh_CN.utf-8

//éú3éutf8±à????μ????t
echo –n "?D??" > foo.utf8

//?ì2éfooμ??úèY£o
od -t x1 foo.utf8
0000000 e4 b8 ad e6 96 87

//×a???autf16±à??
iconv -f utf-8 -t utf-16 foo.utf8 > foo.utf16

//2é?′foo.utf16?úèY
od -t x1 foo.utf16
0000000 ff fe 2d 4e 87 65
Ff feê?BOM£¨?1??μ??e£?í¨1yBOMà′×??úá÷μ?×??úDò£?£???óà2?·?μ?è·ê?UTF-16LE±à??μ??úèY

//×a???autf32±à??
iconv -f utf-16 -t utf-32 foo.utf16 > foo.utf32

//2é?′foo.utf32?úèY
od -t x1 foo.utf32
0000000 ff fe 00 00 2d 4e 00 00 87 65 00 00
Ff feê?BOM£?μ?è·ê?UTF-32LE±à??μ??úèY

//×a???agb2312±à??
iconv -f utf-8 -t gb2312 foo.txt > foo.gb2312
od -t x1 foo.gb2312
0000000 d6 d0 ce c4

//×a???aGBK±à??
iconv -f utf-8 -t gbk foo.txt > foo.gbk
od -t x1 foo.gbk
0000000 d6 d0 ce c4

//×a???aGB18030±à??
iconv -f utf-8 -t gb18030 foo.txt > foo.gb18030
od -t x1 foo.gb18030
0000000 d6 d0 ce c4

Có????D??′|àí

?è?÷è·ò???????£o3ìDò?ú2?±à??oí3ìDòía2?±à???£3ìDò?ú2?±à????μ?ê??D??×?·??ú3ìDò??DDê±?ú?ú′??Dμ?±à??D?ê??£3ìDòía2?±à???òê??D??×?·??ú′?′¢?ò??′?ê?ê±μ?±à??D?ê??£3ìDòía2?±à??μ?×??±1?μ?ày×ó?íê?μ±°??D??′?′¢μ?ó2?ì???t?Dê±????μ?±à???£

?ù?Y3ìDò?ú2?±à??oí3ìDòía2?±à??ê?·?ò???£?C/C++μ??D??′|àíóDá???3£??μ?·?ê?£o

  1. ?úía±à???àí??£ê?è?ê?3?ê±2?Dèòa????±à??×a??£?3ìDò?ú2?′|àíê±°??D??×?·?μ±×???í¨μ?2????êy?Yá÷??DD′|àí?£

  2. ?úía±à??2?í??£ê?è?ê?3?μ?ê±oò?ù?Yó|ó?Dèòa????o?êêμ?±à????ê???DD±à??×a??£?3ìDò?ú2?í3ò?±à??′|àí?£

·?·¨1μ?ó?μ?2?????ó÷£?óéóú?úíaí3ò?£?2?Dèòa??DD×a???£2?×?ê?è?1?2?ê?C±ê×??a?§3?μ?±à??·?ê?£????′×?·?′?′|àíoˉêyDèòa×??oêμ???£±èè??μ±ê×? strlenoˉêy2??ü?????D??±à??&UTF-8μèμ?×?·?′?3¤?è£???Dèòa?ù?Y±à??±ê×?×?DDêμ???£GBKμè?D??±à??3yá?????×?·?′?3¤?èμ?oˉêyía£?×?·? ′??¥??oˉêyò2òa×??oêμ??£¨?-òò?′é????D??±à??×ü?á£??£μ±Dèòa?§3?μ?±à????ê?2??????àê±£?′|àíoˉêyμ??a·¢oí???¤?íDèòa??3??ü′óμ?′ú???£

·?·¨2????·?·¨1μ?2?×??óò??????£?ú3ìDò?ú2??éò?ó??è????C±ê×??a?§3?μ?±à??·?ê?£??ò???ù?YDèòa×??oêμ?????3ò?ì??¨±à????ê?μ?íê???§3?£??a?ùè?o?±à?????éò??è×a???a?§3?μ?±à??£?′ú??í¨ó?D?±è??o??£

???′C±ê×??a???D??±à??μ??§3?è?o???£????°Linux??ì¨ò?°?ê1ó?GNU C library£??ú?¨á???μ¥×??úμ?charoí?í×?·?wchar_tμ??§3??£Char′ó?ò??oüêì?¤á?£?′|àí?D??Dèòaμ?wchar_tòa??μ??ééüò????£′óêμ?? é?à′?μ?úlinux??ì¨é??éò?è??awchar_tê?4byteμ?int£??ú2?′?′¢×?·?μ?UTF32±à???£óéóú±ê×??aò??-?ú?¨á???wchar_t±è??íê±?μ? ?§3?£?è?ê1ó?wcslen ????×?·?′?3¤?è£?ê1ó?wcscmp??DD×?·?′?±è??μèμè?£?ùò?±è???òμ¥μ?·?ê?ê?ê1ó?é???μ?·?·¨2£?í?ê±????wchar_t×÷?a?ú 2?×?·?μ?±íê??£×?μ??aò?μ??1ê?±è??èYò×μ?£??úê?è?ê?3?μ?ê±oòí¨1ymbrtowc/wcrtomb ??DDμ¥??×?·?μ??úía±à??×a??£?ò??°í¨1y mbsrtowcs/wcsrtombs ??DD×?·?′?μ??úía±à??×a???′?é?£?aà?Dèòa×¢òaá?μ?£o

  1. ′ú???D×?·?′?3£á?μ?±íê?2?í??£?ùày?μ?÷£oChar c=’a’; Wchar_t wc=L’?D’;

  2. é???á?×éoˉêyμ?×a??ê?òààμlocaleéè??μ?£??′locale???¨á?ía2?±à??μ?ààDí?£è·?Dμ??μê?LC_CTYPE???¨á?ía2?±à??μ?ààDí?£??è??é?? ??3ìDò???ˉê±ê1ó?±ê×?“C”locale£???2?ê?LC?μáDμ??·?3±?á????¨μ??£?ùò?Dèòaê×?èμ÷ó?????μ?oˉêy£osetlocale (LC_ALL, “”);?a?ù3ìDò?íê1ó?á?ó??§í¨1yéè??LC?μáD?·?3±?á?????μ?Locale?£

1?óúlocaleμ??°ìa±è??′ó£??aà??í2?é?è?á?£?á?′y??ò??a????°é.

é???μ?·?·¨oüíê?à£?ê??e£?2?ê??e£?μ?μ??a?′?àμ?o?′|2?ê??T′ú??μ?£?×??÷??μ?′ú???íê??ú′?£?è?o?ò???×?·?£?2?1ü?D???1ê?ó¢??è?1?±£3??úwchar_tà??íDèòa4??byte£??í?aò???àíóé?í×?ò??T??á??a??·?°??ú1?×¢?ú′?ê1ó?μ?ó|ó?3??°??μ?ê1ó??£

Pythonμ??D??′|àí

??Pythonà′?μóéóú?ú?¨unicdeμ??§3?£??ùò?2éó?ê?è?ê?3?μ?ê±oò??DD×a??£??ú2?±£3?unicodeμ?·?ê?ê1ó?ê???2?′íμ?·?°??£http://docs.python.org/tutorial/introduction.html#unicode-strings?aà?×÷?a?eμ?£?óDD?è¤μ?í??§×??§°é?£

±à???????¨òé£o

  1. ??óDó¢??£ooá2?óì?¥?????úía±à????????ASCII£?í¨ó??ò′?′¢′ú??D??£

  2. ?÷òa′??D??£???′?′¢′óD?±è?????D£o?úía2?±à???ù?Y??×?ê1ó?·??§????GB2312?ò??GBK£?×?DDêμ??ê1ó?μ?μ?×?·?′?′|àíoˉêy?£

  3. í¨ó?D?μúò?£?′|àí?òμ¥£oía2?????UTF-8£??ú2??éò?ê1ó?UTF-8?ò??UTF-32£¨?′wchar_t£?

2???×êá?£o

http://baike.baidu.com/view/25492.htm

http://baike.baidu.com/view/25421.htm

http://baike.baidu.com/view/40801.htm

http://www.sac.gov.cn/SACSearch/search?channelid=160591&templet=gjcxjg_detail.jsp&searchword=STANDARD_CODE=’GB%202312-1980′&XZ=Q

http://www.sac.gov.cn/SACSearch/search?channelid=160591&templet=gjcxjg_detail.jsp&searchword=STANDARD_CODE=’GB%2018030-2005′&XZ=Q

http://www.sac.gov.cn/SACSearch/search?channelid=160591&templet=gjcxjg_detail.jsp&searchword=STANDARD_CODE=’GB%2013000-2010′&XZ=Q

http://www.unicode.org/

http://www.ibm.com/developerworks/cn/linux/i18n/unicode/linuni/

http://www.gnu.org/software/libc/manual/html_node/index.html

http://www.gnu.org/software/libiconv/

??±à?-í?????

責(zé)任編輯:王雪燕 來(lái)源: 搜索技術(shù)博客
相關(guān)推薦

2009-11-27 16:16:58

Suse中文編碼

2012-12-24 15:07:28

symbian

2009-07-16 16:51:56

WebWork驗(yàn)證機(jī)制

2010-05-25 17:41:20

2013-07-09 16:12:47

2017-06-23 18:00:22

前端知識(shí)雜談

2017-04-01 08:30:00

MVCMVPMVVM

2010-07-02 12:02:11

eMule協(xié)議

2017-03-31 20:45:41

MVCMVPMVVM

2009-02-18 14:28:23

編碼亂碼JSP

2023-05-19 07:31:48

2013-02-22 11:00:09

2023-10-16 08:55:43

Redisson分布式

2022-03-07 16:30:10

數(shù)據(jù)庫(kù)ORM開(kāi)發(fā)人員

2013-11-12 11:18:28

企業(yè)開(kāi)源開(kāi)源社區(qū)

2012-03-08 13:58:39

蘋(píng)果新iPad

2010-03-24 18:00:30

Python中文轉(zhuǎn)換u

2009-07-29 13:32:06

ASP.NET控件使用

2015-06-16 14:38:37

數(shù)據(jù)中心

2011-12-21 09:46:46

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)