{"id":308,"date":"2010-06-30T12:00:53","date_gmt":"2010-06-30T04:00:53","guid":{"rendered":"http:\/\/blog.infinity.idv.tw\/index.php\/2010\/06\/30\/delphi-7-%e4%b8%8b%e5%b0%87%e6%96%87%e5%ad%97%e5%ad%98%e6%88%90utf8%e6%a0%bc%e5%bc%8f\/"},"modified":"2011-04-07T10:54:57","modified_gmt":"2011-04-07T02:54:57","slug":"delphi-7-%e4%b8%8b%e5%b0%87%e6%96%87%e5%ad%97%e5%ad%98%e6%88%90utf8%e6%a0%bc%e5%bc%8f","status":"publish","type":"post","link":"http:\/\/blog.infinity.idv.tw\/?p=308","title":{"rendered":"DELPHI 7 \u4e0b\u5c07\u6587\u5b57\u5b58\u6210UTF8\u683c\u5f0f"},"content":{"rendered":"<p>\u4e0a\u7db2\u627e\u5230\u4e0b\u9762\u7684\u7a0b\u5f0f\u78bc\uff0c\u4fee\u4e86\u4e00\u4e0b\u6e2c\u8a66\uff0c\u771f\u7684\u53ef\u4ee5\u8036!!!!\u6700\u8fd1\u7684\u7a0b\u5f0f\u525b\u597d\u6709UTF8\u7de8\u78bc\u7684\u56f0\u64fe\uff0c\u4f7f\u7528\u9019\u65b9\u5f0f\u8f49\u662f\u65b9\u4fbf\u591a\u4e86\uff0c\u4e0d\u904e\u9084\u8981\u6e2c\u8a66\u6703\u4e0d\u6703\u6709\u554f\u984c\u3002<\/p>\n<p><a href=\"http:\/\/delphi.ktop.com.tw\/board.php?cid=30&amp;fid=76&amp;tid=89562\">\u8a0e\u8ad6\u5340\uff1ahttp:\/\/delphi.ktop.com.tw\/board.php?cid=30&amp;fid=76&amp;tid=89562<\/a><\/p>\n<p>procedure TForm1.Button1Click(Sender: TObject);    <br \/>var     <br \/>&#160; S:UTF8String;     <br \/>&#160; F:TextFile;     <br \/>&#160; TntEdit1: TStringList;     <br \/>begin     <br \/>&#160; TntEdit1 := TStringList.Create;     <br \/>&#160; TntEdit1.Add(&#8216;\u6211\u662f\u5929\u624d\u6211\u662f\u5929\u624d\u6211\u662f\u5929\u624d&#8217;);     <br \/>&#160; S:=UTF8Encode(TntEdit1.Text);     <br \/>&#160; AssignFile(F, &#8216;C:\\test.txt&#8217;);     <br \/>&#160; Rewrite(F);     <br \/>&#160; Write(F,#$EF+#$BB+#$BF); \/\/UTF8??     <br \/>&#160; Write(F,S);     <br \/>&#160; CloseFile(F);     <br \/>end;<\/p>\n<p>&#160;<\/p>\n<p>\u7d50\u679c\u53bb\u958bC:\\test.txt \u4f86\u770b\uff0c\u771f\u7684\u76f4\u63a5\u5c31\u662fUTF8\u7de8\u78bc\uff0c\u5728XP\u4e0b\u770b\u4e2d\u6587\u4e5f\u6b63\u5e38\uff0c\u6c92\u6709\u4e82\u78bc\u3002<\/p>\n<p><a href=\"http:\/\/blog.infinity.idv.tw\/blog-img\/DELPHI7UTF8_A8F0\/1.jpg\"><img loading=\"lazy\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"1\" border=\"0\" alt=\"1\" src=\"http:\/\/blog.infinity.idv.tw\/blog-img\/DELPHI7UTF8_A8F0\/1_thumb.jpg\" width=\"609\" height=\"522\" \/><\/a><\/p>\n<p>&#160;<\/p>\n<p>&#160; Write(F,#$EF+#$BB+#$BF); \u4e2d #$EF+#$BB+#$BF \u7684\u610f\u7fa9<\/p>\n<p>=======================================================================<\/p>\n<p><a href=\"http:\/\/60.248.128.85\/bbs\/dv_rss.asp?s=xhtml&amp;boardid=63&amp;id=491&amp;page=3\">http:\/\/60.248.128.85\/bbs\/dv_rss.asp?s=xhtml&amp;boardid=63&amp;id=491&amp;page=3<\/a><\/p>\n<p>\u9019\u662f\u4e00\u7bc7\u7a0b\u5f0f\u54e1\u5beb\u7d66\u7a0b\u5f0f\u54e1\u7684\u8da3\u5473\u8b80\u7269\u3002\u6240\u8b02\u8da3\u5473\u662f\u6307\u53ef\u4ee5\u6bd4\u8f03\u8f15\u9b06\u5730\u77ad\u89e3\u4e00\u4e9b\u539f\u4f86\u4e0d\u6e05\u695a\u7684\u6982\u5ff5\uff0c\u589e\u9032\u77e5\u8b58\uff0c\u985e\u4f3c\u65bc\u6253RPG\u904a\u6232\u7684\u5347\u7d1a\u3002\u6574\u7406\u9019\u7bc7\u6587\u7ae0\u7684\u52d5\u6a5f\u662f\u5169\u500b\u554f\u984c\uff1a<\/p>\n<dl>\n<dt>\u554f\u984c\u4e00\uff1a <\/dt>\n<dd>\n<p>\u4f7f\u7528Windows\u8a18\u4e8b\u672c\u7684\u300c\u53e6\u5b58\u70ba\u300d\uff0c\u53ef\u4ee5\u5728GBK\u3001Unicode\u3001Unicode big endian\u548cUTF-8\u9019\u5e7e\u7a2e\u7de8\u78bc\u65b9\u5f0f\u9593\u76f8\u4e92\u8f49\u63db\u3002\u540c\u6a23\u662ftxt\u6587\u4ef6\uff0cWindows\u662f\u600e\u6a23\u8fa8\u8b58\u7de8\u78bc\u65b9\u5f0f\u7684\u5462\uff1f<\/p>\n<p><font color=\"#ff0000\">\u6211\u5f88\u65e9\u524d\u5c31\u767c\u73feUnicode\u3001Unicode big endian\u548cUTF-8\u7de8\u78bc\u7684txt\u6587\u4ef6\u7684\u958b\u982d\u6703\u591a\u51fa\u5e7e\u500b\u5b57\u5143\uff0c\u5206\u5225\u662fFF\u3001FE\uff08Unicode\uff09,FE\u3001FF\uff08Unicode big endian\uff09,EF\u3001BB\u3001BF\uff08UTF-8\uff09\u3002\u4f46\u9019\u4e9b\u6a19\u8a18\u662f\u57fa\u65bc\u4ec0\u9ebc\u6a19\u6e96\u5462\uff1f<\/font><\/p>\n<\/p>\n<\/dd>\n<dt>\u554f\u984c\u4e8c\uff1a <\/dt>\n<dd>\u6700\u8fd1\u5728\u7db2\u4e0a\u770b\u5230\u4e00\u500bConvertUTF.c\uff0c\u9054\u5230\u4e86UTF-32\u3001UTF-16\u548cUTF-8\u9019\u4e09\u7a2e\u7de8\u78bc\u65b9\u5f0f\u7684\u76f8\u4e92\u8f49\u63db\u3002\u5c0d\u65bcUnicode(UCS2)\u3001GBK\u3001UTF-8\u9019\u4e9b\u7de8\u78bc\u65b9\u5f0f\uff0c\u6211\u539f\u4f86\u5c31\u77ad\u89e3\u3002\u4f46\u9019\u500b\u7a0b\u5f0f\u8b93\u6211\u6709\u4e9b\u7cca\u5857\uff0c\u60f3\u4e0d\u8d77\u4f86UTF-16\u548cUCS2\u6709\u4ec0\u9ebc\u95dc\u4fc2\u3002<\/dd>\n<\/dl>\n<p>\u67e5\u4e86\u67e5\u76f8\u95dc\u8cc7\u6599\uff0c\u7e3d\u7b97\u5c07\u9019\u4e9b\u554f\u984c\u5f04\u6e05\u695a\u4e86\uff0c\u9806\u5e36\u4e5f\u77ad\u89e3\u4e86\u4e00\u4e9bUnicode\u7684\u7d30\u7bc0\u3002\u5beb\u6210\u4e00\u7bc7\u6587\u7ae0\uff0c\u9001\u7d66\u6709\u904e\u985e\u4f3c\u7591\u554f\u7684\u670b\u53cb\u3002\u672c\u6587\u5728\u5beb\u4f5c\u6642\u76e1\u91cf\u505a\u5230\u901a\u4fd7\u6613\u61c2\uff0c\u4f46\u8981\u6c42\u8b80\u8005\u77e5\u9053\u4ec0\u9ebc\u662f\u5b57\u5143\uff0c\u4ec0\u9ebc\u662f\u5341\u516d\u9032\u5236\u3002<\/p>\n<h5>0\u3001big endian\u548clittle endian<\/h5>\n<p>big endian\u548clittle endian\u662fCPU\u8655\u7406\u591a\u5b57\u5143\u6578\u7684\u4e0d\u540c\u65b9\u5f0f\u3002\u4f8b\u5982\u300c\u6f22\u300d\u5b57\u7684Unicode\u7de8\u78bc\u662f6C49\u3002\u90a3\u9ebc\u5beb\u5230\u6587\u4ef6\u88e1\u6642\uff0c\u7a76\u7adf\u662f\u5c076C\u5beb\u5728\u524d\u9762\uff0c\u9084\u662f\u5c0749\u5beb\u5728\u524d\u9762\uff1f\u5982\u679c\u5c076C\u5beb\u5728\u524d\u9762\uff0c\u5c31\u662fbig endian\u3002\u9084\u662f\u5c0749\u5beb\u5728\u524d\u9762\uff0c\u5c31\u662flittle endian\u3002<\/p>\n<p>\u300cendian\u300d\u9019\u500b\u8a5e\u51fa\u81ea\u300a\u683c\u5217\u4f5b\u904a\u8a18\u300b\u3002\u5c0f\u4eba\u570b\u7684\u5167\u6230\u5c31\u6e90\u65bc\u5403\u96de\u86cb\u6642\u662f\u7a76\u7adf\u5f9e\u5927\u982d(Big-Endian)\u6572\u958b\u9084\u662f\u5f9e\u5c0f\u982d(Little-Endian)\u6572\u958b\uff0c\u7531\u6b64\u66fe\u767c\u751f\u904e\u516d\u6b21\u53db\u4e82\uff0c\u5176\u4e2d\u4e00\u500b\u7687\u5e1d\u9001\u4e86\u547d\uff0c\u53e6\u4e00\u500b\u4e1f\u4e86\u738b\u4f4d\u3002<\/p>\n<p>\u6211\u5011\u4e00\u822c\u5c07endian\u7ffb\u8b6f\u6210\u300c\u5b57\u5143\u5e8f\u300d\uff0c\u5c07big endian\u548clittle endian\u7a31\u4f5c\u300c\u5927\u5c3e\u300d\u548c\u300c\u5c0f\u5c3e\u300d\u3002<\/p>\n<h5>1\u3001\u5b57\u5143\u7de8\u78bc\u3001\u5167\u78bc\uff0c\u9806\u5e36\u4ecb\u7d39\u4e2d\u6587\u5b57\u7de8\u78bc<\/h5>\n<p>\u5b57\u5143\u5fc5\u9808\u7de8\u78bc\u5f8c\u624d\u80fd\u88ab\u96fb\u8166\u8655\u7406\u3002\u96fb\u8166\u4f7f\u7528\u7684\u7f3a\u7701\u7de8\u78bc\u65b9\u5f0f\u5c31\u662f\u96fb\u8166\u7684\u5167\u78bc\u3002\u65e9\u671f\u7684\u96fb\u8166\u4f7f\u75287\u4f4d\u7684ASCII\u7de8\u78bc\uff0c\u70ba\u4e86\u8655\u7406\u4e2d\u6587\u5b57\uff0c\u7a0b\u5f0f\u54e1\u8a2d\u8a08\u4e86\u7528\u65bc\u7c21\u9ad4\u4e2d\u6587\u7684big5\u548c\u7528\u65bc\u7e41\u9ad4\u4e2d\u6587\u7684big5\u3002<\/p>\n<p>big5(1980\u5e74)\u4e00\u5171\u6536\u9304\u4e867445\u500b\u5b57\u5143\uff0c\u5305\u62ec6763\u500b\u4e2d\u6587\u5b57\u548c682\u500b\u5176\u5b83\u7b26\u865f\u3002\u4e2d\u6587\u5b57\u5340\u7684\u5167\u78bc\u7bc4\u570d\u9ad8\u5b57\u5143\u5f9eB0-F7\uff0c\u4f4e\u5b57\u5143\u5f9eA1-FE\uff0c\u4f54\u7528\u7684\u78bc\u4f4d\u662f72*94=6768\u3002\u5176\u4e2d\u67095\u500b\u7a7a\u4f4d\u662fD7FA-D7FE\u3002<\/p>\n<p>big5\u652f\u63f4\u7684\u4e2d\u6587\u5b57\u592a\u5c11\u30021995\u5e74\u7684\u4e2d\u6587\u5b57\u64f4\u5c55\u898f\u7bc4GBK1.0\u6536\u9304\u4e8621886\u500b\u7b26\u865f\uff0c\u5b83\u5206\u70ba\u4e2d\u6587\u5b57\u5340\u548c\u5716\u5f62\u7b26\u865f\u5340\u3002\u4e2d\u6587\u5b57\u5340\u5305\u62ec21003\u500b\u5b57\u5143\u30022000\u5e74\u7684GB18030\u662f\u53d6\u4ee3GBK1.0\u7684\u6b63\u5f0f\u570b\u5bb6\u6a19\u6e96\u3002\u8a72\u6a19\u6e96\u6536\u9304\u4e8627484\u500b\u4e2d\u6587\u5b57\uff0c\u540c\u6642\u9084\u6536\u9304\u4e86\u85cf\u6587\u3001\u8499\u6587\u3001\u7dad\u543e\u723e\u6587\u7b49\u4e3b\u8981\u7684\u5c11\u6578\u6c11\u65cf\u6587\u5b57\u3002\u73fe\u5728\u7684PC\u5e73\u53f0\u5fc5\u9808\u652f\u63f4GB18030\uff0c\u5c0d\u5d4c\u5165\u5f0f\u7522\u54c1\u66ab\u4e0d\u4f5c\u8981\u6c42\u3002\u6240\u4ee5\u624b\u6a5f\u3001MP3\u4e00\u822c\u53ea\u652f\u63f4big5\u3002<\/p>\n<p>\u5f9eASCII\u3001big5\u3001GBK\u5230GB18030\uff0c\u9019\u4e9b\u7de8\u78bc\u65b9\u6cd5\u662f\u5411\u4e0b\u517c\u5bb9\u7684\uff0c\u5373\u540c\u4e00\u500b\u5b57\u5143\u5728\u9019\u4e9b\u65b9\u6848\u4e2d\u7e3d\u662f\u6709\u76f8\u540c\u7684\u7de8\u78bc\uff0c\u5f8c\u9762\u7684\u6a19\u6e96\u652f\u63f4\u66f4\u591a\u7684\u5b57\u5143\u3002\u5728\u9019\u4e9b\u7de8\u78bc\u4e2d\uff0c\u82f1\u6587\u548c\u4e2d\u6587\u53ef\u4ee5\u7d71\u4e00\u5730\u8655\u7406\u3002\u5340\u5206\u4e2d\u6587\u7de8\u78bc\u7684\u65b9\u6cd5\u662f\u9ad8\u5b57\u5143\u7684\u6700\u9ad8\u4f4d\u4e0d\u70ba0\u3002\u6309\u7167\u7a0b\u5f0f\u54e1\u7684\u7a31\u547c\uff0cbig5\u3001GBK\u5230GB18030\u90fd\u5c6c\u65bc\u96d9\u5b57\u5143\u5b57\u5143\u96c6 (DBCS)\u3002<\/p>\n<p>\u6709\u7684\u4e2d\u6587Windows\u7684\u7f3a\u7701\u5167\u78bc\u9084\u662fGBK\uff0c\u53ef\u4ee5\u900f\u904eGB18030\u5347\u7d1a\u5305\u5347\u7d1a\u5230GB18030\u3002\u4e0d\u904eGB18030\u76f8\u5c0dGBK\u589e\u52a0\u7684\u5b57\u5143\uff0c\u666e\u901a\u4eba\u662f\u5f88\u96e3\u7528\u5230\u7684\uff0c\u901a\u5e38\u6211\u5011\u9084\u662f\u7528GBK\u6307\u4ee3\u4e2d\u6587Windows\u5167\u78bc\u3002<\/p>\n<p>\u9019\u88e1\u9084\u6709\u4e00\u4e9b\u7d30\u7bc0\uff1a<\/p>\n<ul>\n<li>\n<p>big5\u7684\u539f\u6587\u9084\u662f\u5340\u4f4d\u78bc\uff0c\u5f9e\u5340\u4f4d\u78bc\u5230\u5167\u78bc\uff0c\u9700\u8981\u5728\u9ad8\u5b57\u5143\u548c\u4f4e\u5b57\u5143\u4e0a\u5206\u5225\u52a0\u4e0aA0\u3002<\/p>\n<\/li>\n<li>\n<p>\u5728DBCS\u4e2d\uff0cGB\u5167\u78bc\u7684\u5b58\u5132\u683c\u5f0f\u59cb\u7d42\u662fbig endian\uff0c\u5373\u9ad8\u4f4d\u5728\u524d\u3002<\/p>\n<\/li>\n<li>\n<p>big5\u7684\u5169\u500b\u5b57\u5143\u7684\u6700\u9ad8\u4f4d\u90fd\u662f1\u3002\u4f46\u7b26\u5408\u9019\u500b\u689d\u4ef6\u7684\u78bc\u4f4d\u53ea\u6709128*128=16384\u500b\u3002\u6240\u4ee5GBK\u548cGB18030\u7684\u4f4e\u5b57\u5143\u6700\u9ad8\u4f4d\u90fd\u53ef\u80fd\u4e0d\u662f1\u3002\u4e0d\u904e\u9019\u4e0d\u5f71\u97ffDBCS\u5b57\u5143\u6d41\u7684\u89e3\u6790\uff1a\u5728\u8b80\u53d6DBCS\u5b57\u5143\u6d41\u6642\uff0c\u53ea\u8981\u9047\u5230\u9ad8\u4f4d\u70ba1\u7684\u5b57\u5143\uff0c\u5c31\u53ef\u4ee5\u5c07\u4e0b\u5169\u500b\u5b57\u5143\u4f5c\u70ba\u4e00\u500b\u96d9\u5b57\u5143\u7de8\u78bc\uff0c\u800c\u4e0d\u7528\u7ba1\u4f4e\u5b57\u5143\u7684\u9ad8\u4f4d\u662f\u4ec0\u9ebc\u3002<\/p>\n<\/li>\n<\/ul>\n<h5>2\u3001Unicode\u3001UCS\u548cUTF<\/h5>\n<p>\u524d\u9762\u63d0\u5230\u5f9eASCII\u3001big5\u3001GBK\u5230GB18030\u7684\u7de8\u78bc\u65b9\u6cd5\u662f\u5411\u4e0b\u517c\u5bb9\u7684\u3002\u800cUnicode\u53ea\u8207ASCII\u517c\u5bb9\uff08\u66f4\u6e96\u78ba\u5730\u8aaa\uff0c\u662f\u8207ISO-8859-1\u517c\u5bb9\uff09\uff0c\u8207GB\u78bc\u4e0d\u517c\u5bb9\u3002\u4f8b\u5982\u300c\u6f22\u300d\u5b57\u7684Unicode\u7de8\u78bc\u662f6C49\uff0c\u800cGB\u78bc\u662fBABA\u3002<\/p>\n<p>Unicode\u4e5f\u662f\u4e00\u7a2e\u5b57\u5143\u7de8\u78bc\u65b9\u6cd5\uff0c\u4e0d\u904e\u5b83\u662f\u7531\u570b\u969b\u7d44\u7e54\u8a2d\u8a08\uff0c\u53ef\u4ee5\u5bb9\u7d0d\u5168\u4e16\u754c\u6240\u6709\u8a9e\u8a00\u6587\u5b57\u7684\u7de8\u78bc\u65b9\u6848\u3002Unicode\u7684\u5b78\u540d\u662f&quot;Universal Multiple-Octet Coded Character Set&quot;\uff0c\u7c21\u7a31\u70baUCS\u3002UCS\u53ef\u4ee5\u770b\u4f5c\u662f&quot;Unicode Character Set&quot;\u7684\u7e2e\u5beb\u3002<\/p>\n<p>\u6839\u64da\u7dad\u57fa\u767e\u79d1\u5168\u66f8(http:\/\/zh.wikipedia.org\/wiki\/)\u7684\u8a18\u8f09\uff1a\u6b77\u53f2\u4e0a\u5b58\u5728\u5169\u500b\u8a66\u5716\u7368\u7acb\u8a2d\u8a08Unicode\u7684\u7d44\u7e54\uff0c\u5373\u570b\u969b\u6a19\u6e96\u5316\u7d44\u7e54\uff08ISO\uff09\u548c\u4e00\u500b\u8edf\u9ad4\u88fd\u9020\u5546\u7684\u5354\u6703\uff08unicode.org\uff09\u3002ISO\u958b\u767c\u4e86ISO 10646\u9805\u76ee\uff0cUnicode\u5354\u6703\u958b\u767c\u4e86Unicode\u9805\u76ee\u3002<\/p>\n<p>\u57281991\u5e74\u524d\u5f8c\uff0c\u96d9\u65b9\u90fd\u8a8d\u8b58\u5230\u4e16\u754c\u4e0d\u9700\u8981\u5169\u500b\u4e0d\u517c\u5bb9\u7684\u5b57\u5143\u96c6\u3002\u65bc\u662f\u5b83\u5011\u958b\u59cb\u5408\u4f75\u96d9\u65b9\u7684\u5de5\u4f5c\u6210\u679c\uff0c\u4e26\u70ba\u5275\u7acb\u4e00\u500b\u55ae\u4e00\u7de8\u78bc\u8868\u800c\u5354\u540c\u5de5\u4f5c\u3002\u5f9eUnicode2.0\u958b\u59cb\uff0cUnicode\u9805\u76ee\u63a1\u7528\u4e86\u8207ISO 10646-1\u76f8\u540c\u7684\u5b57\u5eab\u548c\u5b57\u78bc\u3002<\/p>\n<p>\u76ee\u524d\u5169\u500b\u9805\u76ee\u4ecd\u90fd\u5b58\u5728\uff0c\u4e26\u7368\u7acb\u5730\u516c\u4f48\u5404\u81ea\u7684\u6a19\u6e96\u3002Unicode\u5354\u6703\u73fe\u5728\u7684\u6700\u65b0\u7248\u672c\u662f2005\u5e74\u7684Unicode 4.1.0\u3002ISO\u7684\u6700\u65b0\u6a19\u6e96\u662f10646-3:2003\u3002<\/p>\n<p>UCS\u898f\u5b9a\u4e86\u600e\u9ebc\u7528\u591a\u500b\u5b57\u5143\u8868\u793a\u5404\u7a2e\u6587\u5b57\u3002\u600e\u6a23\u50b3\u8f38\u9019\u4e9b\u7de8\u78bc\uff0c\u662f\u7531UTF(UCS Transformation Format)\u898f\u7bc4\u898f\u5b9a\u7684\uff0c\u5e38\u898b\u7684UTF\u898f\u7bc4\u5305\u62ecUTF-8\u3001UTF-7\u3001UTF-16\u3002<\/p>\n<p>IETF\u7684RFC2781\u548cRFC3629\u4ee5RFC\u7684\u4e00\u8cab\u98a8\u683c\uff0c\u6e05\u6670\u3001\u660e\u5feb\u53c8\u4e0d\u5931\u56b4\u8b39\u5730\u63cf\u8ff0\u4e86UTF-16\u548cUTF-8\u7684\u7de8\u78bc\u65b9\u6cd5\u3002\u6211\u7e3d\u662f\u8a18\u4e0d\u5f97IETF\u662fInternet Engineering Task Force\u7684\u7e2e\u5beb\u3002\u4f46IETF\u8ca0\u8cac\u7dad\u8b77\u7684RFC\u662fInternet\u4e0a\u4e00\u5207\u898f\u7bc4\u7684\u57fa\u790e\u3002<\/p>\n<h5>3\u3001UCS-2\u3001UCS-4\u3001BMP<\/h5>\n<p>UCS\u6709\u5169\u7a2e\u683c\u5f0f\uff1aUCS-2\u548cUCS-4\u3002\u9867\u540d\u601d\u7fa9\uff0cUCS-2\u5c31\u662f\u7528\u5169\u500b\u5b57\u5143\u7de8\u78bc\uff0cUCS-4\u5c31\u662f\u75284\u500b\u5b57\u5143\uff08\u5be6\u969b\u4e0a\u53ea\u7528\u4e8631\u4f4d\uff0c\u6700\u9ad8\u4f4d\u5fc5\u9808\u70ba0\uff09\u7de8\u78bc\u3002\u4e0b\u9762\u8b93\u6211\u5011\u505a\u4e00\u4e9b\u7c21\u55ae\u7684\u6578\u5b78\u904a\u6232\uff1a<\/p>\n<p>UCS-2\u67092^16=65536\u500b\u78bc\u4f4d\uff0cUCS-4\u67092^31=2147483648\u500b\u78bc\u4f4d\u3002<\/p>\n<p>UCS-4\u6839\u64da\u6700\u9ad8\u4f4d\u70ba0\u7684\u6700\u9ad8\u5b57\u5143\u5206\u62102^7=128\u500bgroup\u3002\u6bcf\u500bgroup\u518d\u6839\u64da\u6b21\u9ad8\u5b57\u5143\u5206\u70ba256\u500bplane\u3002\u6bcf\u500bplane\u6839\u64da\u7b2c3\u500b\u5b57\u5143\u5206\u70ba256\u884c (rows)\uff0c\u6bcf\u884c\u5305\u542b256\u500bcells\u3002\u7576\u7136\u540c\u4e00\u884c\u7684cells\u53ea\u662f\u6700\u5f8c\u4e00\u500b\u5b57\u5143\u4e0d\u540c\uff0c\u5176\u9918\u90fd\u76f8\u540c\u3002<\/p>\n<p>group 0\u7684plane 0\u88ab\u7a31\u4f5cBasic Multilingual Plane, \u5373BMP\u3002\u6216\u8005\u8aaaUCS-4\u4e2d\uff0c\u9ad8\u5169\u500b\u5b57\u5143\u70ba0\u7684\u78bc\u4f4d\u88ab\u7a31\u4f5cBMP\u3002<\/p>\n<p>\u5c07UCS-4\u7684BMP\u53bb\u6389\u524d\u9762\u7684\u5169\u500b\u96f6\u5b57\u5143\u5c31\u5f97\u5230\u4e86UCS-2\u3002\u5728UCS-2\u7684\u5169\u500b\u5b57\u5143\u524d\u52a0\u4e0a\u5169\u500b\u96f6\u5b57\u5143\uff0c\u5c31\u5f97\u5230\u4e86UCS-4\u7684BMP\u3002\u800c\u76ee\u524d\u7684UCS-4\u898f\u7bc4\u4e2d\u5c1a\u672a\u4efb\u4f55\u5b57\u5143\u88ab\u5206\u914d\u5728BMP\u4e4b\u5916\u3002<\/p>\n<h5>4\u3001UTF\u7de8\u78bc<\/h5>\n<p>UTF-8\u5c31\u662f\u4ee58\u4f4d\u70ba\u55ae\u5143\u5c0dUCS\u9032\u884c\u7de8\u78bc\u3002\u5f9eUCS-2\u5230UTF-8\u7684\u7de8\u78bc\u65b9\u5f0f\u5982\u4e0b\uff1a<\/p>\n<p>UCS-2\u7de8\u78bc(16\u9032\u5236)   <br \/>UTF-8 \u5b57\u5143\u6d41(\u4e8c\u9032\u5236)<\/p>\n<p>0000 &#8211; 007F   <br \/>0xxxxxxx<\/p>\n<p>0080 &#8211; 07FF   <br \/>110xxxxx 10xxxxxx<\/p>\n<p>0800 &#8211; FFFF   <br \/>1110xxxx 10xxxxxx 10xxxxxx<\/p>\n<p>\u4f8b\u5982\u300c\u6f22\u300d\u5b57\u7684Unicode\u7de8\u78bc\u662f6C49\u30026C49\u57280800-FFFF\u4e4b\u9593\uff0c\u6240\u4ee5\u80af\u5b9a\u8981\u75283\u5b57\u5143\u6a21\u677f\u4e86\uff1a1110xxxx 10xxxxxx 10xxxxxx\u3002\u5c076C49\u5beb\u6210\u4e8c\u9032\u5236\u662f\uff1a0110 110001 001001\uff0c \u7528\u9019\u500b\u6bd4\u7279\u6d41\u4f9d\u6b21\u4ee3\u66ff\u6a21\u677f\u4e2d\u7684x\uff0c\u5f97\u5230\uff1a11100110 10110001 10001001\uff0c\u5373E6 B1 89\u3002<\/p>\n<p>\u8b80\u8005\u53ef\u4ee5\u7528\u8a18\u4e8b\u672c\u6e2c\u8a66\u4e00\u4e0b\u6211\u5011\u7684\u7de8\u78bc\u662f\u5426\u6b63\u78ba\u3002<\/p>\n<p>UTF-16\u4ee516\u4f4d\u70ba\u55ae\u5143\u5c0dUCS\u9032\u884c\u7de8\u78bc\u3002\u5c0d\u65bc\u5c0f\u65bc0x10000\u7684UCS\u78bc\uff0cUTF-16\u7de8\u78bc\u5c31\u7b49\u65bcUCS\u78bc\u5c0d\u61c9\u768416\u4f4d\u7121\u7b26\u865f\u6574\u6578\u3002\u5c0d\u65bc\u4e0d\u5c0f\u65bc0x10000\u7684UCS\u78bc\uff0c\u5b9a\u7fa9\u4e86\u4e00\u500b\u7b97\u6cd5\u3002\u4e0d\u904e\u7531\u65bc\u5be6\u969b\u4f7f\u7528\u7684UCS2\uff0c\u6216\u8005UCS4\u7684BMP\u5fc5\u7136\u5c0f\u65bc0x10000\uff0c\u6240\u4ee5\u5c31\u76ee\u524d\u800c\u8a00\uff0c\u53ef\u4ee5\u8a8d\u70baUTF-16\u548cUCS-2\u57fa\u672c\u76f8\u540c\u3002\u4f46UCS-2\u53ea\u662f\u4e00\u500b\u7de8\u78bc\u65b9\u6848\uff0cUTF-16\u537b\u8981\u7528\u65bc\u5be6\u969b\u7684\u50b3\u8f38\uff0c\u6240\u4ee5\u5c31\u4e0d\u5f97\u4e0d\u8003\u616e\u5b57\u5143\u5e8f\u7684\u554f\u984c\u3002<\/p>\n<h5>5\u3001UTF\u7684\u5b57\u5143\u5e8f\u548cBOM<\/h5>\n<p>UTF-8\u4ee5\u5b57\u5143\u70ba\u7de8\u78bc\u55ae\u5143\uff0c\u6c92\u6709\u5b57\u5143\u5e8f\u7684\u554f\u984c\u3002UTF-16\u4ee5\u5169\u500b\u5b57\u5143\u70ba\u7de8\u78bc\u55ae\u5143\uff0c\u5728\u89e3\u91cb\u4e00\u500bUTF-16\u6587\u672c\u524d\uff0c\u9996\u5148\u8981\u5f04\u6e05\u695a\u6bcf\u500b\u7de8\u78bc\u55ae\u5143\u7684\u5b57\u5143\u5e8f\u3002\u4f8b\u5982\u6536\u5230\u4e00\u500b\u300c\u594e\u300d\u7684Unicode\u7de8\u78bc\u662f594E\uff0c\u300c\u4e59\u300d\u7684Unicode\u7de8\u78bc\u662f4E59\u3002\u5982\u679c\u6211\u5011\u6536\u5230UTF-16\u5b57\u5143\u6d41\u300c594E\u300d\uff0c\u90a3\u9ebc\u9019\u662f\u300c\u594e\u300d\u9084\u662f\u300c\u4e59\u300d\uff1f<\/p>\n<p>Unicode\u898f\u7bc4\u4e2d\u63a8\u85a6\u7684\u6a19\u8a18\u5b57\u5143\u9806\u5e8f\u7684\u65b9\u6cd5\u662fBOM\u3002BOM\u4e0d\u662f\u300cBill Of Material\u300d\u7684BOM\u8868\uff0c\u800c\u662fByte Order Mark\u3002BOM\u662f\u4e00\u500b\u6709\u9ede\u5c0f\u8070\u660e\u7684\u60f3\u6cd5\uff1a<\/p>\n<p>\u5728UCS\u7de8\u78bc\u4e2d\u6709\u4e00\u500b\u53eb\u505a&quot;ZERO WIDTH NO-BREAK SPACE&quot;\u7684\u5b57\u5143\uff0c\u5b83\u7684\u7de8\u78bc\u662fFEFF\u3002\u800cFFFE\u5728UCS\u4e2d\u662f\u4e0d\u5b58\u5728\u7684\u5b57\u5143\uff0c\u6240\u4ee5\u4e0d\u61c9\u8a72\u51fa\u73fe\u5728\u5be6\u969b\u50b3\u8f38\u4e2d\u3002UCS\u898f\u7bc4\u5efa\u8b70\u6211\u5011\u5728\u50b3\u8f38\u5b57\u5143\u6d41\u524d\uff0c\u5148\u50b3\u8f38\u5b57\u5143&quot;ZERO WIDTH NO-BREAK SPACE&quot;\u3002<\/p>\n<p>\u9019\u6a23\u5982\u679c\u63a5\u6536\u8005\u6536\u5230FEFF\uff0c\u5c31\u8868\u660e\u9019\u500b\u5b57\u5143\u6d41\u662fBig-Endian\u7684\uff1b\u5982\u679c\u6536\u5230FFFE\uff0c\u5c31\u8868\u660e\u9019\u500b\u5b57\u5143\u6d41\u662fLittle-Endian\u7684\u3002\u56e0\u6b64\u5b57\u5143&quot;ZERO WIDTH NO-BREAK SPACE&quot;\u53c8\u88ab\u7a31\u4f5cBOM\u3002<\/p>\n<p>UTF-8\u4e0d\u9700\u8981BOM\u4f86\u8868\u660e\u5b57\u5143\u9806\u5e8f\uff0c\u4f46\u53ef\u4ee5\u7528BOM\u4f86\u8868\u660e\u7de8\u78bc\u65b9\u5f0f\u3002\u5b57\u5143&quot;ZERO WIDTH NO-BREAK SPACE&quot;\u7684UTF-8\u7de8\u78bc\u662fEF BB BF\uff08\u8b80\u8005\u53ef\u4ee5\u7528\u6211\u5011\u524d\u9762\u4ecb\u7d39\u7684\u7de8\u78bc\u65b9\u6cd5\u9a57\u8b49\u4e00\u4e0b\uff09\u3002\u6240\u4ee5\u5982\u679c\u63a5\u6536\u8005\u6536\u5230\u4ee5EF BB BF\u958b\u982d\u7684\u5b57\u5143\u6d41\uff0c\u5c31\u77e5\u9053\u9019\u662fUTF-8\u7de8\u78bc\u4e86\u3002<\/p>\n<p>Windows\u5c31\u662f\u4f7f\u7528BOM\u4f86\u6a19\u8a18\u6587\u672c\u6587\u4ef6\u7684\u7de8\u78bc\u65b9\u5f0f\u7684\u3002<\/p>\n<h5>6\u3001\u9032\u4e00\u6b65\u7684\u53c3\u8003\u8cc7\u6599<\/h5>\n<p>\u672c\u6587\u4e3b\u8981\u53c3\u8003\u7684\u8cc7\u6599\u662f &quot;Short overview of ISO-IEC 10646 and Unicode&quot; (http:\/\/www.nada.kth.se\/i18n\/ucs\/unicode-iso10646-oview.html)\u3002<\/p>\n<p>\u6211\u9084\u627e\u4e86\u5169\u7bc7\u770b\u4e0a\u53bb\u4e0d\u932f\u7684\u8cc7\u6599\uff0c\u4e0d\u904e\u56e0\u70ba\u6211\u958b\u59cb\u7684\u7591\u554f\u90fd\u767c\u73fe\u4e86\u7b54\u6848\uff0c\u6240\u4ee5\u5c31\u6c92\u6709\u770b\uff1a<\/p>\n<ol>\n<li>&quot;Understanding Unicode A general introduction to the Unicode Standard&quot; (http:\/\/scripts.sil.org\/cms\/scripts\/page.php?site_id=nrsi&amp;item_id=IWS-Chapter04a) <\/li>\n<li>&quot;Character set encoding basics Understanding character set encodings and legacy encodings&quot; (http:\/\/scripts.sil.org\/cms\/scripts\/page.php?site_id=nrsi&amp;item_id=IWS-Chapter03)<\/li>\n<\/ol>\n<p>\u6211\u5beb\u904eUTF-8\u3001UCS-2\u3001GBK\u76f8\u4e92\u8f49\u63db\u7684\u8edf\u9ad4\u5305\uff0c\u5305\u62ec\u4f7f\u7528Windows API\u548c\u4e0d\u4f7f\u7528Windows API\u7684\u7248\u672c\u3002\u4ee5\u5f8c\u6709\u6642\u9593\u7684\u8a71\uff0c\u6211\u6703\u6574\u7406\u4e00\u4e0b\u653e\u5230\u6211\u7684\u500b\u4eba\u9996\u9801\u4e0a(http:\/\/fmddlmyy.home4u.china.com)\u3002<\/p>\n<p>\u6211\u662f\u60f3\u6e05\u695a\u6240\u6709\u554f\u984c\u5f8c\u624d\u958b\u59cb\u5beb\u9019\u7bc7\u6587\u7ae0\u7684\uff0c\u539f\u4ee5\u70ba\u4e00\u6703\u5152\u5c31\u80fd\u5beb\u597d\u3002\u6c92\u60f3\u5230\u8003\u616e\u63aa\u8fad\u548c\u67e5\u8b49\u7d30\u7bc0\u82b1\u8cbb\u4e86\u5f88\u9577\u6642\u9593\uff0c\u7adf\u7136\u5f9e\u4e0b\u53481:30\u5beb\u52309:00\u3002\u5e0c\u671b\u6709\u8b80\u8005\u80fd\u5f9e\u4e2d\u53d7\u76ca\u3002<\/p>\n<p>=======================================================================<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0a\u7db2\u627e\u5230\u4e0b\u9762\u7684\u7a0b\u5f0f\u78bc\uff0c\u4fee\u4e86\u4e00\u4e0b\u6e2c\u8a66\uff0c\u771f\u7684\u53ef\u4ee5\u8036!!!!\u6700\u8fd1\u7684\u7a0b\u5f0f\u525b\u597d\u6709UTF8\u7de8\u78bc\u7684\u56f0\u64fe\uff0c\u4f7f\u7528\u9019\u65b9\u5f0f\u8f49\u662f\u65b9\u4fbf\u591a\u4e86\uff0c\u4e0d\u904e\u9084\u8981\u6e2c\u8a66\u6703\u4e0d\u6703\u6709\u554f\u984c\u3002<\/p>\n<p>\u8a0e\u8ad6\u5340\uff1ahttp:\/\/delphi.ktop.com.tw\/board.php?cid=30&amp;fid=76&amp;tid=89562<\/p>\n<p>procedure TForm1.Button1Click(Sender: TObject);    var     &#160; S:UTF8String;     &#160; F:TextFile;     &#160; TntEdit1: TStringList;     begin     &#160; TntEdit1 := TStringList.Create;     &#160; TntEdit1.Add(&#8216;\u6211\u662f\u5929\u624d\u6211\u662f\u5929\u624d\u6211\u662f\u5929\u624d&#8217;);     &#160; S:=UTF8Encode(TntEdit1.Text);     [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[293],"_links":{"self":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/308"}],"collection":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=308"}],"version-history":[{"count":3,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/308\/revisions"}],"predecessor-version":[{"id":564,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/308\/revisions\/564"}],"wp:attachment":[{"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=308"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.infinity.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}