ANSI与UNICODE字符函数对照表
ANSI,ASCII,Unicode的区别与联系

ANSI,ASCII,Unicode的区别与联系2010-09-09 16:22:48很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。
他们看到8个开关状态是好的,于是他们把这称为"字节"。
再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。
他们看到这样是好的,于是它们就这机器称为"计算机"。
开始计算机只在美国用。
八位的字节一共可以组合出256(2的8次方)种不同的状态。
他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。
遇上00x10, 终端就换行,遇上0x07, 终端就向人们嘟嘟叫,例好遇上0x1b, 打印机就打印反白的字,或者终端就用彩色显示字母。
他们看到这样很好,于是就把这些0x20以下的字节状态称为"控制码"。
他们又把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字了。
大家看到这样,都感觉很好,于是大家都把这个方案叫做ANSI 的"Ascii"编码(American Standard Code for Information Interchange,美国信息互换标准代码)。
当时世界上所有的计算机都用同样的ASCII方案来保存英文文字。
后来,就像建造巴比伦塔一样,世界各地的都开始使用计算机,但是很多国家用的不是英文,他们的字母里有许多是ASCII里没有的,为了可以在计算机保存他们的文字,他们决定采用127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状,一直把序号编到了最后一个状态255。
从128 到255这一页的字符集被称"扩展字符集"。
unicode编码区对照表

unicode編碼區對照表2150-218F Number Forms 數字形式2190-21FF Arrows 箭頭符號2200-22FF Mathematical Operators 數學運算符號2300-23FF Miscellaneous Technical 混合專門符號3000-303F CJK Symbols and Punctuation 中日韓符號和標點3040-309F Hiragana 平假名30A0-30FF Katakana 片假名3100-312F Bopomofo 注音符號31C0-31EF CJK Strokes 中日韓筆畫部件31F0-31FF Katakana Phonetic Extensions 片假名音標擴充3200-32FF Enclosed CJK Letters and Months 中日韓括號字母及月份3300-33FF CJK Compatibility 中日韓相容字元3400-4DBF CJK Unified Ideographs Extension A 中日韓統一表意文字擴充A4DC0-4DFF Yijing Hexagram Symbols 易經六十四卦象4E00-9FFF CJK Unified Ideographs 中日韓統一表意文字其他。
0000-007F Basic Latin 基本拉丁字母0080-00FF Latin-1 Supplement 拉丁字母補充-10100-017F Latin Extended-A 拉丁字母擴充-A0180-024F Latin Extended-B 拉丁字母擴充-B0250-02AF IPA Extensions 國際音標擴充02B0-02FF Spacing Modifier Letters 進格修飾字元0300-036F Combining Diacritical Marks 組合音標附加符號0370-03FF Greek and Coptic 希臘字母0400-04FF Cyrillic 西里爾字母0500-052F Cyrillic Supplement 西里爾字母補充0530-058F Armenian 亞美尼亞文0590-05FF Hebrew 希伯來文0600-06FF Arabic 基本阿拉伯文0700-074F Syriac 敘利亞文0750-077F Arabic Supplement 阿拉伯文補充0780-07BF Thaana 塔納文07C0-07FF N'Ko0900-097F Devanagari 天城體梵文字母0980-09FF Bengali 孟加拉文0A00-0A7F Gurmukhi 古爾穆基文0A80-0AFF Gujarati 古吉拉特文0B00-0B7F Oriya 奧里亞文0B80-0BFF Tamil 泰米爾文0C00-0C7F Telugu 泰盧固文0C80-0CFF Kannada 卡納達文0D00-0D7F Malayalam 馬拉亞拉姆文0D80-0DFF Sinhala 僧伽羅文0E00-0E7F Thai 泰文0E80-0EFF Lao 老撾文;寮國文0F00-0FFF Tibetan 藏文1000-109F Myanmar 緬甸文10A0-10FF Georgian 格魯吉亞文1100-11FF Hangul Jamo 諺文字母1200-137F Ethiopic 埃塞俄比亞文1380-139F Ethiopic Supplement 埃塞俄比亞文補充13A0-13FF Cherokee 切羅基文1400-167F Unified Canadian Aboriginal Syllabics 加拿大土著統一音節文字1680-169F Ogham 歐甘文16A0-16FF Runic 北歐古文1700-171F Tagalog 他加祿文1720-173F Hanunoo 哈努諾文1740-175F Buhid 布希德文1760-177F Tagbanwa 塔格巴努亞文1780-17FF Khmer 高棉文1800-18AF Mongolian 蒙古文1900-194F Limbu 林布文1950-197F Tai Le 傣哪文;德宏傣文1980-19DF New Tai Lue 新傣仂文19E0-19FF Khmer Symbols 高棉符號1A00-1A1F Buginese 布吉文1B00-1B7F Balinese 巴厘文1D00-1D7F Phonetic Extensions 音標擴充1D80-1DBF Phonetic Extensions Supplement 音標擴充補充1DC0-1DFF Combining Diacritical Marks Supplement 組合音標附加符號1E00-1EFF Latin Extended Additional 拉丁字母擴充附加1F00-1FFF Greek Extended 希臘文擴充2000-206F General Punctuation 一般標點符號2070-209F Superscripts and Subscripts 下標及上標20A0-20CF Currency Symbols 貨幣符號20D0-20FF Combining Diacritical Marks for Symbols 符號用組合附加符號2100-214F Letterlike Symbols 似字母符號2150-218F Number Forms 數字形式2190-21FF Arrows 箭頭符號2200-22FF Mathematical Operators 數學運算符號2300-23FF Miscellaneous Technical 混合專門符號2400-243F Control Pictures 控制圖像2440-245F Optical Character Recognition 光學字元識別2460-24FF Enclosed Alphanumerics 括號字母數字2500-257F Box Drawing 製表符2580-259F Block Elements 區塊元件25A0-25FF Geometric Shapes 幾何形狀2600-26FF Miscellaneous Symbols 混合什錦符號2700-27BF Dingbats 什錦符號27C0-27EF Miscellaneous Mathematical Symbols-A 混合數學符號-A27F0-27FF Supplemental Arrows-A 補充性箭頭符號-A2800-28FF Braille Patterns 盲文;盲人點字2900-297F Supplemental Arrows-B 補充性箭頭符號-B 2980-29FF Miscellaneous Mathematical Symbols-B 混合數學符號-B2A00-2AFF Supplemental Mathematical Operators 補充性數學運算符號2B00-2BFF Miscellaneous Symbols and Arrows 混合什錦符號和箭頭符號2C00-2C5F Glagolitic 格拉戈爾字母2C60-2C7F Latin Extended-C 拉丁字母擴充-C2C80-2CFF Coptic 科普特文2D00-2D2F Georgian Supplement 格魯吉亞文補充2D30-2D7F Tifinagh 提非納格字母2D80-2DDF Ethiopic Extended 埃塞俄比亞文擴充2E00-2E7F Supplemental Punctuation 補充性標點符號2E80-2EFF CJK Radicals Supplement 中日韓部首補充2F00-2FDF Kangxi Radicals 康熙部首2FF0-2FFF Ideographic Description Characters 漢字結構描述字符3000-303F CJK Symbols and Punctuation 中日韓符號和標點3040-309F Hiragana 平假名30A0-30FF Katakana 片假名3100-312F Bopomofo 注音符號3130-318F Hangul Compatibility Jamo 諺文相容字母3190-319F Kanbun 漢文標註號31A0-31BF Bopomofo Extended 注音符號擴充31C0-31EF CJK Strokes 中日韓筆畫部件31F0-31FF Katakana Phonetic Extensions 片假名音標擴充3200-32FF Enclosed CJK Letters and Months 中日韓括號字母及月份3300-33FF CJK Compatibility 中日韓相容字元3400-4DBF CJK Unified Ideographs Extension A 中日韓統一表意文字擴充A4DC0-4DFF Yijing Hexagram Symbols 易經六十四卦象4E00-9FFF CJK Unified Ideographs 中日韓統一表意文字A000-A48F Yi Syllables 彝文音節A490-A4CF Yi Radicals 彝文字母A700-A71F Modifier Tone Letters 聲調符號A720-A7FF Latin Extended-D 拉丁字母擴充-DA800-A82F Syloti NagriA840-A87F Phags-pa 八思巴字母AC00-D7AF Hangul Syllables 諺文音節D800-DB7F High Surrogates 高半代用區DB80-DBFF High Private Use Surrogates 高半專用代用區DC00-DFFF Low Surrogates 低半代用區E000-F8FF Private Use Area 專用區F900-FAFF CJK Compatibility Ideographs 中日韓相容表意文字FB00-FB4F Alphabetic Presentation Forms 字母變體顯現形式FB50-FDFF Arabic Presentation Forms-A 阿拉伯文變體顯現形式-AFE00-FE0F Variation Selectors 字型變換選取器FE10-FE1F Vertical Forms 豎式標點FE20-FE2F Combining Half Marks 組合半形標示FE30-FE4F CJK Compatibility Forms 中日韓相容形式FE50-FE6F Small Form Variants 小寫變體FE70-FEFF Arabic Presentation Forms-B 阿拉伯文變體顯現形式-BFF00-FFEF Halfwidth and Fullwidth Forms 半形及全形字符FFF0-FFFF Specials 特殊區域10000-1007F Linear B Syllabary 線形文字B音節文字10080-100FF Linear B Ideograms 線形文字B表意文字10100-1013F Aegean Numbers 愛琴數字10140-1018F Ancient Greek Numbers 古希臘數字10300-1032F Old Italic 古意大利文10330-1034F Gothic 哥特文10380-1039F Ugaritic 烏加里特楔形文字103A0-103DF Old Persian 古波斯文10400-1044F Deseret 猶他大學音標10450-1047F Shavian 肅伯納字母10480-104AF Osmanya10800-1083F Cypriot Syllabary 塞浦路斯音節文字10900-1091F Phoenician 腓尼基字母10A00-10A5F Kharoshthi 佉盧字母12000-123FF Cuneiform 楔形文字12400-1247F Cuneiform Numbers and Punctuation 楔形文字數字及標點1D000-1D0FF Byzantine Musical Symbols 東正教音樂符號1D100-1D1FF Musical Symbols 音樂符號1D200-1D24F Ancient Greek Musical Notation 古希臘音樂譜記號1D300-1D35F Tai Xuan Jing Symbols 太玄經符號1D360-1D37F Counting Rod Numerals 算籌記數式1D400-1D7FF Mathematical Alphanumeric Symbols 數學用字母數字符號20000-2A6DF CJK Unified Ideographs Extension B 中日韓統一表意文字擴充B2F800-2FA1F CJK Compatibility Ideographs Supplement 中日韓相容表意文字補充E0000-E007F Tags 語言編碼標籤E0100-E01EF Variation Selectors Supplement 字型變換選取器補充FFF80-FFFFF Supplementary Private Use Area-A 補充專用區-A10FF80-10FFFF Supplementary Private Use Area-B 補充專用區-B。
Unicode编码表

Unicode编码表Unicode编码表以下为Unicode编码清单,具体字符的编码表请下载Unicode编码表1. 【0020-007F】 Basic Latin 基本拉丁字母2. 【00A0-00FF】 Latin-1 Supplement 拉丁字母补充-13. 【0100-017F】 Latin Extended-A 拉丁字母扩充-A4. 【0180-024F】 Latin Extended-B 拉丁字母扩充-B5. 【0250-02AF】 IPA Extensions 国际音标扩充6. 【02B0-02EF】 Spacing Modifier Letters 进格修饰字符7. 【0300-036F】 Combining Diacritical Marks 组合音标附加符号8. 【0370-03FF】 Greek and Coptic 希腊字母9. 【0400-04FF】 Cyrillic 西里尔字母10. 【0500-052F】 Cyrillic Supplement 西里尔字母补充11. 【0530-058F】 Armenian 亚美尼亚文12. 【0590-05FF】 Hebrew 希伯来文13. 【0600-06FF】 Arabic 基本阿拉伯文14. 【0700-074F】 Syriac 叙利亚文15. 【0750-077F】 Arabic Supplement 阿拉伯文补充16. 【0780-07BF】 Thaana 塔纳文17. 【07C0-07FF】N’Ko18. 【0900-097F】 Devanagari 天城体梵文字母19. 【0980-09FF】 Bengali 孟加拉国文20. 【0A00-0A7F】 Gurmukhi 古尔穆基文21. 【0A80-0AFF】 Gujarati 古吉拉特文22. 【0B00-0B7F】 Oriya 奥里亚文23. 【0B80-0BFF】 Tamil 泰米尔文24. 【0C00-0C7F】 Telugu 泰卢固文25. 【0C80-0CFF】 Kannada 卡纳达文26. 【0D00-0D7F】 Malayalam 马拉亚拉姆文27. 【0D80-0DFF】 Sinhala 僧伽罗文28. 【0E00-0E7F】 Thai 泰文29. 【0E80-0EFF】 Lao 老挝文;寮国文30. 【0F00-0FFF】 Tibetan 藏文31. 【1000-109F】 Myanmar 缅甸文32. 【10A0-10FF】 Georgian 格鲁吉亚文33. 【1100-11FF】 Hangul Jamo 谚文字母34. 【1200-137F】 Ethiopic 埃塞俄比亚文35. 【1380-139F】 Ethiopic Supplement 埃塞俄比亚文补充36. 【13A0-13FF】 Cherokee 切罗基文37. 【1400-167F】 Unified Canadian Aboriginal Syllabics 加拿大土著统一音节文字38. 【1680-169F】 Ogham 欧甘文39. 【16A0-16FF】 Runic 北欧古文40. 【1700-171F】 Tagalog 他加禄文41. 【1720-173F】 Hanunoo 哈努诺文42. 【1740-175F】 Buhid 布什德文43. 【1760-177F】 Tagbanwa 塔格巴努亚文44. 【1780-17FF】 Khmer 高棉文45. 【1800-18AF】 Mongolian 蒙古文46. 【1900-194F】 Limbu 林布文47. 【1950-197F】 Tai Le 傣哪文;德宏傣文48. 【1980-19DF】 New Tai Lue 新傣仂文49. 【19E0-19FF】 Khmer Symbols 高棉符号50. 【1A00-1A1F】 Buginese 布吉文51. 【1B00-1B7F】 Balinese 巴利文52. 【1D00-1D7F】 Phonetic Extensions 音标扩充53. 【1D80-1DBF】 Phonetic Extensions Supplement 音标扩充补充54. 【1DC0-1DFF】 Combining Diacritical Marks Supplement 组合音标附加符号55. 【1E00-1EFF】 Latin Extended Additional 拉丁字母扩充附加56. 【1F00-1FFF】 Greek Extended 希腊文扩充57. 【2000-206F】 General Punctuation 一般标点符号58. 【2070-209F】 Superscripts and Subscripts 下标及上标59. 【20A0-20CF】 Currency Symbols 货币符号60. 【20D0-20FF】 Combining Diacritical Marks for Symbols 符号用组合附加符号61. 【2100-214F】 Letterlike Symbols 似字母符号62. 【2150-218F】 Number Forms 数字形式63. 【2190-21FF】 Arrows 箭头符号64. 【2200-22FF】 Mathematical Operators 数学运算符号65. 【2300-23FF】 Miscellaneous Technical 混合专门符号66. 【2400-243F】 Control Pictures 控制图像67. 【2440-245F】 Optical Character Recognition 光学字符识别68. 【2460-24FF】 Enclosed Alphanumerics 括号字母数字69. 【2500-257F】 Box Drawing 制表符70. 【2580-259F】 Block Elements 区块组件71. 【25A0-25FF】 Geometric Shapes 几何形状72. 【2600-26FF】 Miscellaneous Symbols 混合什锦符号73. 【2700-27BF】 Dingbats 什锦符号74. 【27C0-27EF】Miscellaneous Mathematical Symbols-A 混合数学符号-A75. 【27F0-27FF】 Supplemental Arrows-A 补充性箭头符号-A76. 【2800-28FF】 Braille Patterns 盲文;盲人点字77. 【2900-297F】 Supplemental Arrows-B 补充性箭头符号-B78. 【2980-29FF】Miscellaneous Mathematical Symbols-B 混合数学符号-B79. 【2A00-2AFF】 Supplemental Mathematical Operators 补充性数学运算符号80. 【2B00-2BFF】 Miscellaneous Symbols and Arrows 混合什锦符号和箭头符号81. 【2C00-2C5F】 Glagolitic 格拉戈尔字母82. 【2C60-2C7F】 Latin Extended-C 拉丁字母扩充-C83. 【2C80-2CFF】 Coptic 科普特文84. 【2D00-2D2F】 Georgian Supplement 格鲁吉亚文补充85. 【2D30-2D7F】 Tifinagh 提非纳格字母86. 【2D80-2DDF】 Ethiopic Extended 埃塞俄比亚文扩充87. 【2E00-2E7F】 Supplemental Punctuation 补充性标点符号88. 【2E80-2EFF】 CJK Radicals Supplement 中日韩部首补充89. 【2F00-2FDF】 Kangxi Radicals 康熙部首90. 【2FF0-2FFF】 Ideographic Description Characters 汉字结构描述字符91. 【3000-303F】 CJK Symbols and Punctuation 中日韩符号和标点92. 【3040-309F】 Hiragana 平假名93. 【30A0-30FF】 Katakana 片假名94. 【3100-312F】 Bopomofo 注音符号95. 【3130-318F】 Hangul Compatibility Jamo 谚文兼容字母96. 【3190-319F】 Kanbun 汉文标注号97. 【31A0-31BF】 Bopomofo Extended 注音符号扩充98. 【31C0-31EF】 CJK Strokes 中日韩笔画部件99. 【31F0-31FF】 Katakana Phonetic Extensions 片假名音标扩充100.【3200-32FF】 Enclosed CJK Letters and Months 中日韩括号字母及月份101.【3300-33FF】CJK Compatibility 中日韩兼容字符102.【3400-4DBF】 CJK Unified Ideographs Extension A 中日韩统一表意文字扩充A103.【4DC0-4DFF】Yijing Hexagram Symbols 易经六十四卦象104.【4E00-9FFF】 CJK Unified Ideographs 中日韩统一表意文字105.【A000-A48F】 Yi Syllables 彝文音节106.【A490-A4CF】 Yi Radicals 彝文字母107.【A700-A71F】 Modifier Tone Letters 声调符号108.【A720-A7FF】 Latin Extended-D 拉丁字母扩充-D109.【A800-A82F】 Syloti Nagri110.【A840-A87F】 Phags-pa 八思巴字母111.【AC00-D7AF】 Hangul Syllables 谚文音节112.【D800-DB7F】 High Surrogates 高半代用区113.【DB80-DBFF】 High Private Use Surrogates 高半专用代用区114.【DC00-DFFF】 Low Surrogates 低半代用区115.【E000-F8FF】 Private Use Area 专用区116.【F900-FAFF】 CJK Compatibility Ideographs 中日韩兼容表意文字117.【FB00-FB4F】 Alphabetic Presentation Forms 字母变体显现形式118.【FB50-FDFF】 Arabic Presentation Forms-A 阿拉伯文变体显现形式-A 119.【FE00-FE0F】 Variation Selectors 字型变换选取器120.【FE10-FE1F】 Vertical Forms 竖式标点121.【FE20-FE2F】 Combining HalF】 Marks 组合半角标示122.【FE30-FE4F】 CJK Compatibility Forms 中日韩相容形式123.【FE50-FE6F】 Small Form Variants 小写变体124.【FE70-FEFF】Arabic Presentation Forms-B 阿拉伯文变体显现形式-B 125.【FF00-FFEF】Halfwidth and Fullwidth Forms半角及全角字符126.【FFF0-FFFF】 Specials 特殊区域127.【10000-1007F】 Linear B Syllabary 线形文字B音节文字128.【10080-100FF】Linear B Ideograms 线形文字B表意文字129.【10100-1013F】 Aegean Numbers 爱琴数字130.【10140-1018F】 Ancient Greek Numbers 古希腊数字131.【10300-1032F】 Old Italic 古意大利文132.【10330-1034F】 Gothic 哥特文133.【10380-1039F】 Ugaritic 乌加里特楔形文字134.【103A0-103DF】 Old Persian 古波斯文135.【10400-1044F】 Deseret 犹他大学音标136.【10450-1047F】 Shavian 肃伯纳字母137.【10480-104AF】 Osmanya138.【10800-1083F】 Cypriot Syllabary 塞浦路斯音节文字139.【10900-1091F】 Phoenician 腓尼基字母140.【10A00-10A5F】 Kharoshthi 佉卢字母141.【12000-123FF】 Cuneiform 楔形文字142.【12400-1247F】 Cuneiform Numbers and Punctuation 楔形文字数字及标点143.【1D000-1D0FF】 Byzantine Musical Symbols 东正教音乐符号144.【1D100-1D1FF】 Musical Symbols 音乐符号145.【1D200-1D24F】 Ancient Greek Musical Notation 古希腊音乐谱记号146.【1D300-1D35F】 Tai Xuan Jing Symbols 太玄经符号147.【1D360-1D37F】 Counting Rod Numerals 算筹记数式148.【1D400-1D7FF】 Mathematical Alphanumeric Symbols 数学用字母数字符号149.【20000-2A6DF】 CJK Unified Ideographs Extension B 中日韩统一表意文字扩充B150.【2F800-2FA1F】CJK Compatibility Ideographs Supplement 中日韩兼容表意文字补充151.【E0000-E007F】 Tags 语言编码卷标152.【E0100-E01EF】 Variation Selectors Supplement 字型变换选取器补充153.【FFF80-FFFFF】Supplementary Private Use Area-A 补充专用区-A 154.【10FF80-10FFFF】Supplementary Private Use Area-B 补充专用区-B。
(完整word版)Unicode汉字编码表

Unicode汉字编码表1 unicode编码表Unicode目前普遍采用的是UCS—2,它用两个字节来编码一个字符,比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制,2的16次方等于65536,所以UCS—2最多能编码65536个字符.编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97,对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的,简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用4个字节来编码字符,不过现在普遍采用的还是UCS—2,只用两个字节来编码,看一下Unicode对汉字的编码:--————-———-—--——--————-———--—-——-————-———-——-—--——-—---—------————-———--2 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F-———--—-—-----—--—---—-----—-——-——---—--————-—--—-—--4e00 一丁丂七丄丅丆万丈三上下丌不与丏4e10 丐丑丒专且丕世丗丘丙业丛东丝丞丟4e20 丠両丢丣两严並丧丨丩个丫丬中丮丯4e30 丰丱串丳临丵丶丷丸丹为主丼丽举丿4e40 乀乁乂乃乄久乆乇么义乊之乌乍乎乏4e50 乐乑乒乓乔乕乖乗乘乙乚乛乜九乞也4e60 习乡乢乣乤乥书乧乨乩乪乫乬乭乮乯4e70 买乱乲乳乴乵乶乷乸乹乺乻乼乽乾乿4e80 亀亁亂亃亄亅了亇予争亊事二亍于亏4e90 亐云互亓五井亖亗亘亙亚些亜亝亞亟4ea0 亠亡亢亣交亥亦产亨亩亪享京亭亮亯4eb0 亰亱亲亳亴亵亶亷亸亹人亻亼亽亾亿4ec0 什仁仂仃仄仅仆仇仈仉今介仌仍从仏4ed0 仐仑仒仓仔仕他仗付仙仚仛仜仝仞仟4ee0 仠仡仢代令以仦仧仨仩仪仫们仭仮仯4ef0 仰仱仲仳仴仵件价仸仹仺任仼份仾仿4f00 伀企伂伃伄伅伆伇伈伉伊伋伌伍伎伏4f10 伐休伒伓伔伕伖众优伙会伛伜伝伞伟4f20 传伡伢伣伤伥伦伧伨伩伪伫伬伭伮伯-—-—-———--—-—-—-—-—--———---—-—-—--—-—--———--——--—--———3 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F—----—-—--—-------———-——-—---——--—--—------——---————-4f30 估伱伲伳伴伵伶伷伸伹伺伻似伽伾伿4f40 佀佁佂佃佄佅但佇佈佉佊佋佌位低住4f50 佐佑佒体佔何佖佗佘余佚佛作佝佞佟4f60 你佡佢佣佤佥佦佧佨佩佪佫佬佭佮佯4f70 佰佱佲佳佴併佶佷佸佹佺佻佼佽佾使4f80 侀侁侂侃侄侅來侇侈侉侊例侌侍侎侏4f90 侐侑侒侓侔侕侖侗侘侙侚供侜依侞侟4fa0 侠価侢侣侤侥侦侧侨侩侪侫侬侭侮侯4fb0 侰侱侲侳侴侵侶侷侸侹侺侻侼侽侾便4fc0 俀俁係促俄俅俆俇俈俉俊俋俌俍俎俏4fd0 俐俑俒俓俔俕俖俗俘俙俚俛俜保俞俟4fe0 俠信俢俣俤俥俦俧俨俩俪俫俬俭修俯4ff0 俰俱俲俳俴俵俶俷俸俹俺俻俼俽俾俿5000 倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏5010 倐們倒倓倔倕倖倗倘候倚倛倜倝倞借5020 倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯5030 倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿5040 偀偁偂偃偄偅偆假偈偉偊偋偌偍偎偏5050 偐偑偒偓偔偕偖偗偘偙做偛停偝偞偟5060 偠偡偢偣偤健偦偧偨偩偪偫偬偭偮偯5070 偰偱偲偳側偵偶偷偸偹偺偻偼偽偾偿----——-—-------------——--—--—----————-————-—————————-—-4 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F-—--—----———--———-——---—-————--——--------—---———-——--5080 傀傁傂傃傄傅傆傇傈傉傊傋傌傍傎傏5090 傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟50a0 傠傡傢傣傤傥傦傧储傩傪傫催傭傮傯50b0 傰傱傲傳傴債傶傷傸傹傺傻傼傽傾傿50c0 僀僁僂僃僄僅僆僇僈僉僊僋僌働僎像50d0 僐僑僒僓僔僕僖僗僘僙僚僛僜僝僞僟50e0 僠僡僢僣僤僥僦僧僨僩僪僫僬僭僮僯50f0 僰僱僲僳僴僵僶僷僸價僺僻僼僽僾僿5100 儀儁儂儃億儅儆儇儈儉儊儋儌儍儎儏5110 儐儑儒儓儔儕儖儗儘儙儚儛儜儝儞償5120 儠儡儢儣儤儥儦儧儨儩優儫儬儭儮儯5130 儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾儿5140 兀允兂元兄充兆兇先光兊克兌免兎兏5150 児兑兒兓兔兕兖兗兘兙党兛兜兝兞兟5160 兠兡兢兣兤入兦內全兩兪八公六兮兯5170 兰共兲关兴兵其具典兹兺养兼兽兾兿5180 冀冁冂冃冄内円冇冈冉冊冋册再冎冏5190 冐冑冒冓冔冕冖冗冘写冚军农冝冞冟51a0 冠冡冢冣冤冥冦冧冨冩冪冫冬冭冮冯51b0 冰冱冲决冴况冶冷冸冹冺冻冼冽冾冿51c0 净凁凂凃凄凅准凇凈凉凊凋凌凍凎减-—-——-—-————-——-—-——--—------——---——————-——-——--------—5 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F—--———--———-——————-———--—————--——-——--——----—-—-—-—-—51D0 凐凑凒凓凔凕凖凗凘凙凚凛凜凝凞凟51E0 几凡凢凣凤凥処凧凨凩凪凫凬凭凮凯51F0 凰凱凲凳凴凵凶凷凸凹出击凼函凾凿5200 刀刁刂刃刄刅分切刈刉刊刋刌刍刎刏5210 刐刑划刓刔刕刖列刘则刚创刜初刞刟5220 删刡刢刣判別刦刧刨利刪别刬刭刮刯5230 到刱刲刳刴刵制刷券刹刺刻刼刽刾刿5240 剀剁剂剃剄剅剆則剈剉削剋剌前剎剏5250 剐剑剒剓剔剕剖剗剘剙剚剛剜剝剞剟5260 剠剡剢剣剤剥剦剧剨剩剪剫剬剭剮副5270 剰剱割剳剴創剶剷剸剹剺剻剼剽剾剿5280 劀劁劂劃劄劅劆劇劈劉劊劋劌劍劎劏5290 劐劑劒劓劔劕劖劗劘劙劚力劜劝办功52A0 加务劢劣劤劥劦劧动助努劫劬劭劮劯52B0 劰励劲劳労劵劶劷劸効劺劻劼劽劾势52C0 勀勁勂勃勄勅勆勇勈勉勊勋勌勍勎勏52D0 勐勑勒勓勔動勖勗勘務勚勛勜勝勞募52E0 勠勡勢勣勤勥勦勧勨勩勪勫勬勭勮勯52F0 勰勱勲勳勴勵勶勷勸勹勺勻勼勽勾勿5300 匀匁匂匃匄包匆匇匈匉匊匋匌匍匎匏5310 匐匑匒匓匔匕化北匘匙匚匛匜匝匞匟—————--—-———————-——--——-————-—-———-——-——---———--——-—-—-6 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F——----——--——---—-————-——--————--—-----------——--——-——5320 匠匡匢匣匤匥匦匧匨匩匪匫匬匭匮匯5330 匰匱匲匳匴匵匶匷匸匹区医匼匽匾匿5340 區十卂千卄卅卆升午卉半卋卌卍华协5350 卐卑卒卓協单卖南単卙博卛卜卝卞卟5360 占卡卢卣卤卥卦卧卨卩卪卫卬卭卮卯5370 印危卲即却卵卶卷卸卹卺卻卼卽卾卿5380 厀厁厂厃厄厅历厇厈厉厊压厌厍厎厏5390 厐厑厒厓厔厕厖厗厘厙厚厛厜厝厞原53a0 厠厡厢厣厤厥厦厧厨厩厪厫厬厭厮厯53b0 厰厱厲厳厴厵厶厷厸厹厺去厼厽厾县53c0 叀叁参參叄叅叆叇又叉及友双反収叏53d0 叐发叒叓叔叕取受变叙叚叛叜叝叞叟53e0 叠叡叢口古句另叧叨叩只叫召叭叮可53f0 台叱史右叴叵叶号司叹叺叻叼叽叾叿5400 吀吁吂吃各吅吆吇合吉吊吋同名后吏5410 吐向吒吓吔吕吖吗吘吙吚君吜吝吞吟5420 吠吡吢吣吤吥否吧吨吩吪含听吭吮启5430 吰吱吲吳吴吵吶吷吸吹吺吻吼吽吾吿5440 呀呁呂呃呄呅呆呇呈呉告呋呌呍呎呏5450 呐呑呒呓呔呕呖呗员呙呚呛呜呝呞呟5460 呠呡呢呣呤呥呦呧周呩呪呫呬呭呮呯-—--—--—---———----——-----———---——-—-—-—-—-—-———--———-—-7 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F———--———--———-——--——--—--—--——--—-—-—--——-—--———--—-—5470 呰呱呲味呴呵呶呷呸呹呺呻呼命呾呿5480 咀咁咂咃咄咅咆咇咈咉咊咋和咍咎咏5490 咐咑咒咓咔咕咖咗咘咙咚咛咜咝咞咟54a0 咠咡咢咣咤咥咦咧咨咩咪咫咬咭咮咯54b0 咰咱咲咳咴咵咶咷咸咹咺咻咼咽咾咿54c0 哀品哂哃哄哅哆哇哈哉哊哋哌响哎哏54d0 哐哑哒哓哔哕哖哗哘哙哚哛哜哝哞哟54e0 哠員哢哣哤哥哦哧哨哩哪哫哬哭哮哯54f0 哰哱哲哳哴哵哶哷哸哹哺哻哼哽哾哿5500 唀唁唂唃唄唅唆唇唈唉唊唋唌唍唎唏5510 唐唑唒唓唔唕唖唗唘唙唚唛唜唝唞唟5520 唠唡唢唣唤唥唦唧唨唩唪唫唬唭售唯5530 唰唱唲唳唴唵唶唷唸唹唺唻唼唽唾唿5540 啀啁啂啃啄啅商啇啈啉啊啋啌啍啎問5550 啐啑啒啓啔啕啖啗啘啙啚啛啜啝啞啟5560 啠啡啢啣啤啥啦啧啨啩啪啫啬啭啮啯5570 啰啱啲啳啴啵啶啷啸啹啺啻啼啽啾啿5580 喀喁喂喃善喅喆喇喈喉喊喋喌喍喎喏5590 喐喑喒喓喔喕喖喗喘喙喚喛喜喝喞喟55a0 喠喡喢喣喤喥喦喧喨喩喪喫喬喭單喯55b0 喰喱喲喳喴喵営喷喸喹喺喻喼喽喾喿—--———-————--——-——-—--——---—---—--—-—--—-———————-————-—-8 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F-—-—-———-—-——--———-——----—-——-----—---—-—---———-—-—--55c0 嗀嗁嗂嗃嗄嗅嗆嗇嗈嗉嗊嗋嗌嗍嗎嗏55d0 嗐嗑嗒嗓嗔嗕嗖嗗嗘嗙嗚嗛嗜嗝嗞嗟55e0 嗠嗡嗢嗣嗤嗥嗦嗧嗨嗩嗪嗫嗬嗭嗮嗯55f0 嗰嗱嗲嗳嗴嗵嗶嗷嗸嗹嗺嗻嗼嗽嗾嗿5600 嘀嘁嘂嘃嘄嘅嘆嘇嘈嘉嘊嘋嘌嘍嘎嘏5610 嘐嘑嘒嘓嘔嘕嘖嘗嘘嘙嘚嘛嘜嘝嘞嘟5620 嘠嘡嘢嘣嘤嘥嘦嘧嘨嘩嘪嘫嘬嘭嘮嘯5630 嘰嘱嘲嘳嘴嘵嘶嘷嘸嘹嘺嘻嘼嘽嘾嘿5640 噀噁噂噃噄噅噆噇噈噉噊噋噌噍噎噏5650 噐噑噒噓噔噕噖噗噘噙噚噛噜噝噞噟5660 噠噡噢噣噤噥噦噧器噩噪噫噬噭噮噯5670 噰噱噲噳噴噵噶噷噸噹噺噻噼噽噾噿5680 嚀嚁嚂嚃嚄嚅嚆嚇嚈嚉嚊嚋嚌嚍嚎嚏5690 嚐嚑嚒嚓嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟56a0 嚠嚡嚢嚣嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚯56b0 嚰嚱嚲嚳嚴嚵嚶嚷嚸嚹嚺嚻嚼嚽嚾嚿56c0 囀囁囂囃囄囅囆囇囈囉囊囋囌囍囎囏56d0 囐囑囒囓囔囕囖囗囘囙囚四囜囝回囟56e0 因囡团団囤囥囦囧囨囩囪囫囬园囮囯56f0 困囱囲図围囵囶囷囸囹固囻囼国图囿5700 圀圁圂圃圄圅圆圇圈圉圊國圌圍圎圏—--—-—-—-—-—-———----——--------——---——-—-—--—---—-—-—-—-—9 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F————---———————-—-——--———--—-----——---——--——-—--——-——-5710 圐圑園圓圔圕圖圗團圙圚圛圜圝圞土5720 圠圡圢圣圤圥圦圧在圩圪圫圬圭圮圯5730 地圱圲圳圴圵圶圷圸圹场圻圼圽圾圿5740 址坁坂坃坄坅坆均坈坉坊坋坌坍坎坏5750 坐坑坒坓坔坕坖块坘坙坚坛坜坝坞坟5760 坠坡坢坣坤坥坦坧坨坩坪坫坬坭坮坯5770 坰坱坲坳坴坵坶坷坸坹坺坻坼坽坾坿5780 垀垁垂垃垄垅垆垇垈垉垊型垌垍垎垏5790 垐垑垒垓垔垕垖垗垘垙垚垛垜垝垞垟57a0 垠垡垢垣垤垥垦垧垨垩垪垫垬垭垮垯57b0 垰垱垲垳垴垵垶垷垸垹垺垻垼垽垾垿57c0 埀埁埂埃埄埅埆埇埈埉埊埋埌埍城埏57d0 埐埑埒埓埔埕埖埗埘埙埚埛埜埝埞域57e0 埠埡埢埣埤埥埦埧埨埩埪埫埬埭埮埯57f0 埰埱埲埳埴埵埶執埸培基埻埼埽埾埿5800 堀堁堂堃堄堅堆堇堈堉堊堋堌堍堎堏5810 堐堑堒堓堔堕堖堗堘堙堚堛堜堝堞堟5820 堠堡堢堣堤堥堦堧堨堩堪堫堬堭堮堯5830 堰報堲堳場堵堶堷堸堹堺堻堼堽堾堿5840 塀塁塂塃塄塅塆塇塈塉塊塋塌塍塎塏5850 塐塑塒塓塔塕塖塗塘塙塚塛塜塝塞塟--—--————-——————————-——--—-——-—-———--—--—-——-—--—------—10 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F—-————-—————-—-----—-—--—---—-—--——-—————--—--—--——-—5860 塠塡塢塣塤塥塦塧塨塩塪填塬塭塮塯5870 塰塱塲塳塴塵塶塷塸塹塺塻塼塽塾塿5880 墀墁墂境墄墅墆墇墈墉墊墋墌墍墎墏5890 墐墑墒墓墔墕墖増墘墙墚墛墜墝增墟58a0 墠墡墢墣墤墥墦墧墨墩墪墫墬墭墮墯58b0 墰墱墲墳墴墵墶墷墸墹墺墻墼墽墾墿58c0 壀壁壂壃壄壅壆壇壈壉壊壋壌壍壎壏58d0 壐壑壒壓壔壕壖壗壘壙壚壛壜壝壞壟58e0 壠壡壢壣壤壥壦壧壨壩壪士壬壭壮壯58f0 声壱売壳壴壵壶壷壸壹壺壻壼壽壾壿5900 夀夁夂夃处夅夆备夈変夊夋夌复夎夏5910 夐夑夒夓夔夕外夗夘夙多夛夜夝夞够5920 夠夡夢夣夤夥夦大夨天太夫夬夭央夯5930 夰失夲夳头夵夶夷夸夹夺夻夼夽夾夿5940 奀奁奂奃奄奅奆奇奈奉奊奋奌奍奎奏5950 奐契奒奓奔奕奖套奘奙奚奛奜奝奞奟5960 奠奡奢奣奤奥奦奧奨奩奪奫奬奭奮奯5970 奰奱奲女奴奵奶奷奸她奺奻奼好奾奿5980 妀妁如妃妄妅妆妇妈妉妊妋妌妍妎妏5990 妐妑妒妓妔妕妖妗妘妙妚妛妜妝妞妟59a0 妠妡妢妣妤妥妦妧妨妩妪妫妬妭妮妯---————---—--—-——---—-——-——-—-—-————--———-—--——--——--———11 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F ———-—————-——————-———-—--------———--—————-—-—-—--——-——59b0 妰妱妲妳妴妵妶妷妸妹妺妻妼妽妾妿59c0 姀姁姂姃姄姅姆姇姈姉姊始姌姍姎姏59d0 姐姑姒姓委姕姖姗姘姙姚姛姜姝姞姟59e0 姠姡姢姣姤姥姦姧姨姩姪姫姬姭姮姯59f0 姰姱姲姳姴姵姶姷姸姹姺姻姼姽姾姿5a00 娀威娂娃娄娅娆娇娈娉娊娋娌娍娎娏5a10 娐娑娒娓娔娕娖娗娘娙娚娛娜娝娞娟5a20 娠娡娢娣娤娥娦娧娨娩娪娫娬娭娮娯5a30 娰娱娲娳娴娵娶娷娸娹娺娻娼娽娾娿5a40 婀婁婂婃婄婅婆婇婈婉婊婋婌婍婎婏5a50 婐婑婒婓婔婕婖婗婘婙婚婛婜婝婞婟5a60 婠婡婢婣婤婥婦婧婨婩婪婫婬婭婮婯5a70 婰婱婲婳婴婵婶婷婸婹婺婻婼婽婾婿5a80 媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏5a90 媐媑媒媓媔媕媖媗媘媙媚媛媜媝媞媟5aa0 媠媡媢媣媤媥媦媧媨媩媪媫媬媭媮媯5ab0 媰媱媲媳媴媵媶媷媸媹媺媻媼媽媾媿5ac0 嫀嫁嫂嫃嫄嫅嫆嫇嫈嫉嫊嫋嫌嫍嫎嫏5ad0 嫐嫑嫒嫓嫔嫕嫖嫗嫘嫙嫚嫛嫜嫝嫞嫟5ae0 嫠嫡嫢嫣嫤嫥嫦嫧嫨嫩嫪嫫嫬嫭嫮嫯5af0 嫰嫱嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿-——--——-————-——-—--—————---———-———————---—-———-—--—--12 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F--—---—-—--—-—————-—————-—-——----—-----———----—-——-—-5b00 嬀嬁嬂嬃嬄嬅嬆嬇嬈嬉嬊嬋嬌嬍嬎嬏5b10 嬐嬑嬒嬓嬔嬕嬖嬗嬘嬙嬚嬛嬜嬝嬞嬟5b20 嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯5b30 嬰嬱嬲嬳嬴嬵嬶嬷嬸嬹嬺嬻嬼嬽嬾嬿5b40 孀孁孂孃孄孅孆孇孈孉孊孋孌孍孎孏5b50 子孑孒孓孔孕孖字存孙孚孛孜孝孞孟5b60 孠孡孢季孤孥学孧孨孩孪孫孬孭孮孯5b70 孰孱孲孳孴孵孶孷學孹孺孻孼孽孾孿5b80 宀宁宂它宄宅宆宇守安宊宋完宍宎宏5b90 宐宑宒宓宔宕宖宗官宙定宛宜宝实実5ba0 宠审客宣室宥宦宧宨宩宪宫宬宭宮宯5bb0 宰宱宲害宴宵家宷宸容宺宻宼宽宾宿5bc0 寀寁寂寃寄寅密寇寈寉寊寋富寍寎寏5bd0 寐寑寒寓寔寕寖寗寘寙寚寛寜寝寞察5be0 寠寡寢寣寤寥實寧寨審寪寫寬寭寮寯5bf0 寰寱寲寳寴寵寶寷寸对寺寻导寽対寿5c00 尀封専尃射尅将將專尉尊尋尌對導小5c10 尐少尒尓尔尕尖尗尘尙尚尛尜尝尞尟5c20 尠尡尢尣尤尥尦尧尨尩尪尫尬尭尮尯5c30 尰就尲尳尴尵尶尷尸尹尺尻尼尽尾尿5c40 局屁层屃屄居屆屇屈屉届屋屌屍屎屏—--——————----—---——----—-—————-—-———--———--—--—-————-—13 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F——-——--———-—---—--—-————-—---———---———---———-—--—-—-—5c50 屐屑屒屓屔展屖屗屘屙屚屛屜屝属屟5c60 屠屡屢屣層履屦屧屨屩屪屫屬屭屮屯5c70 屰山屲屳屴屵屶屷屸屹屺屻屼屽屾屿5c80 岀岁岂岃岄岅岆岇岈岉岊岋岌岍岎岏5c90 岐岑岒岓岔岕岖岗岘岙岚岛岜岝岞岟5ca0 岠岡岢岣岤岥岦岧岨岩岪岫岬岭岮岯5cb0 岰岱岲岳岴岵岶岷岸岹岺岻岼岽岾岿5cc0 峀峁峂峃峄峅峆峇峈峉峊峋峌峍峎峏5cd0 峐峑峒峓峔峕峖峗峘峙峚峛峜峝峞峟5ce0 峠峡峢峣峤峥峦峧峨峩峪峫峬峭峮峯5cf0 峰峱峲峳峴峵島峷峸峹峺峻峼峽峾峿5d00 崀崁崂崃崄崅崆崇崈崉崊崋崌崍崎崏5d10 崐崑崒崓崔崕崖崗崘崙崚崛崜崝崞崟5d20 崠崡崢崣崤崥崦崧崨崩崪崫崬崭崮崯5d30 崰崱崲崳崴崵崶崷崸崹崺崻崼崽崾崿5d40 嵀嵁嵂嵃嵄嵅嵆嵇嵈嵉嵊嵋嵌嵍嵎嵏5d50 嵐嵑嵒嵓嵔嵕嵖嵗嵘嵙嵚嵛嵜嵝嵞嵟5d60 嵠嵡嵢嵣嵤嵥嵦嵧嵨嵩嵪嵫嵬嵭嵮嵯5d70 嵰嵱嵲嵳嵴嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿5d80 嶀嶁嶂嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏5d90 嶐嶑嶒嶓嶔嶕嶖嶗嶘嶙嶚嶛嶜嶝嶞嶟-—————————-———--——-—-—--—————---—--—-—----—-—----——-——14 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F—-——--—-—---—--—-——---—-----—---------—----———-—--—--5da0 嶠嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯5db0 嶰嶱嶲嶳嶴嶵嶶嶷嶸嶹嶺嶻嶼嶽嶾嶿5dc0 巀巁巂巃巄巅巆巇巈巉巊巋巌巍巎巏5dd0 巐巑巒巓巔巕巖巗巘巙巚巛巜川州巟5de0 巠巡巢巣巤工左巧巨巩巪巫巬巭差巯5df0 巰己已巳巴巵巶巷巸巹巺巻巼巽巾巿5e00 帀币市布帄帅帆帇师帉帊帋希帍帎帏5e10 帐帑帒帓帔帕帖帗帘帙帚帛帜帝帞帟5e20 帠帡帢帣帤帥带帧帨帩帪師帬席帮帯5e30 帰帱帲帳帴帵帶帷常帹帺帻帼帽帾帿5e40 幀幁幂幃幄幅幆幇幈幉幊幋幌幍幎幏5e50 幐幑幒幓幔幕幖幗幘幙幚幛幜幝幞幟5e60 幠幡幢幣幤幥幦幧幨幩幪幫幬幭幮幯5e70 幰幱干平年幵并幷幸幹幺幻幼幽幾广5e80 庀庁庂広庄庅庆庇庈庉床庋庌庍庎序5e90 庐庑庒库应底庖店庘庙庚庛府庝庞废5ea0 庠庡庢庣庤庥度座庨庩庪庫庬庭庮庯5eb0 庰庱庲庳庴庵庶康庸庹庺庻庼庽庾庿5ec0 廀廁廂廃廄廅廆廇廈廉廊廋廌廍廎廏5ed0 廐廑廒廓廔廕廖廗廘廙廚廛廜廝廞廟5ee0 廠廡廢廣廤廥廦廧廨廩廪廫廬廭廮廯--——--——-———-———————-——---—-—--————-—-———--—--—-—----—15 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F——-—-—-—---——--—----———————-—-——-————--—-—---————-—--5ef0 廰廱廲廳廴廵延廷廸廹建廻廼廽廾廿5f00 开弁异弃弄弅弆弇弈弉弊弋弌弍弎式5f10 弐弑弒弓弔引弖弗弘弙弚弛弜弝弞弟5f20 张弡弢弣弤弥弦弧弨弩弪弫弬弭弮弯5f30 弰弱弲弳弴張弶強弸弹强弻弼弽弾弿5f40 彀彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏5f50 彐彑归当彔录彖彗彘彙彚彛彜彝彞彟5f60 彠彡形彣彤彥彦彧彨彩彪彫彬彭彮彯5f70 彰影彲彳彴彵彶彷彸役彺彻彼彽彾彿5f80 往征徂徃径待徆徇很徉徊律後徍徎徏5f90 徐徑徒従徔徕徖得徘徙徚徛徜徝從徟5fa0 徠御徢徣徤徥徦徧徨復循徫徬徭微徯5fb0 徰徱徲徳徴徵徶德徸徹徺徻徼徽徾徿5fc0 忀忁忂心忄必忆忇忈忉忊忋忌忍忎忏5fd0 忐忑忒忓忔忕忖志忘忙忚忛応忝忞忟5fe0 忠忡忢忣忤忥忦忧忨忩忪快忬忭忮忯5ff0 忰忱忲忳忴念忶忷忸忹忺忻忼忽忾忿6000 怀态怂怃怄怅怆怇怈怉怊怋怌怍怎怏6010 怐怑怒怓怔怕怖怗怘怙怚怛怜思怞怟6020 怠怡怢怣怤急怦性怨怩怪怫怬怭怮怯6030 怰怱怲怳怴怵怶怷怸怹怺总怼怽怾怿6040 恀恁恂恃恄恅恆恇恈恉恊恋恌恍恎恏6050 恐恑恒恓恔恕恖恗恘恙恚恛恜恝恞恟6060 恠恡恢恣恤恥恦恧恨恩恪恫恬恭恮息6070 恰恱恲恳恴恵恶恷恸恹恺恻恼恽恾恿—----——-—-—---—-——————-——--—--—--—-----——————-—-——-—---16 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F—-----——-—---—----————--———---——-----—-———---———-———-6080 悀悁悂悃悄悅悆悇悈悉悊悋悌悍悎悏6090 悐悑悒悓悔悕悖悗悘悙悚悛悜悝悞悟60a0 悠悡悢患悤悥悦悧您悩悪悫悬悭悮悯60b0 悰悱悲悳悴悵悶悷悸悹悺悻悼悽悾悿60c0 惀惁惂惃惄情惆惇惈惉惊惋惌惍惎惏60d0 惐惑惒惓惔惕惖惗惘惙惚惛惜惝惞惟60e0 惠惡惢惣惤惥惦惧惨惩惪惫惬惭惮惯60f0 惰惱惲想惴惵惶惷惸惹惺惻惼惽惾惿6100 愀愁愂愃愄愅愆愇愈愉愊愋愌愍愎意6110 愐愑愒愓愔愕愖愗愘愙愚愛愜愝愞感6120 愠愡愢愣愤愥愦愧愨愩愪愫愬愭愮愯6130 愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾愿6140 慀慁慂慃慄慅慆慇慈慉慊態慌慍慎慏6150 慐慑慒慓慔慕慖慗慘慙慚慛慜慝慞慟6160 慠慡慢慣慤慥慦慧慨慩慪慫慬慭慮慯6170 慰慱慲慳慴慵慶慷慸慹慺慻慼慽慾慿6180 憀憁憂憃憄憅憆憇憈憉憊憋憌憍憎憏6190 憐憑憒憓憔憕憖憗憘憙憚憛憜憝憞憟61a0 憠憡憢憣憤憥憦憧憨憩憪憫憬憭憮憯61b0 憰憱憲憳憴憵憶憷憸憹憺憻憼憽憾憿61c0 懀懁懂懃懄懅懆懇懈應懊懋懌懍懎懏-----------—-————--——————-—-—--—-—-—--——-——-—--—-———-—--——————---—-----—--------17 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F——-—-——----—-----——-—--—----—---——--—-—-—--——-——————-61d0 懐懑懒懓懔懕懖懗懘懙懚懛懜懝懞懟61e0 懠懡懢懣懤懥懦懧懨懩懪懫懬懭懮懯61f0 懰懱懲懳懴懵懶懷懸懹懺懻懼懽懾懿6200 戀戁戂戃戄戅戆戇戈戉戊戋戌戍戎戏6210 成我戒戓戔戕或戗战戙戚戛戜戝戞戟6220 戠戡戢戣戤戥戦戧戨戩截戫戬戭戮戯6230 戰戱戲戳戴戵戶户戸戹戺戻戼戽戾房6240 所扁扂扃扄扅扆扇扈扉扊手扌才扎扏6250 扐扑扒打扔払扖扗托扙扚扛扜扝扞扟6260 扠扡扢扣扤扥扦执扨扩扪扫扬扭扮扯6270 扰扱扲扳扴扵扶扷扸批扺扻扼扽找承6280 技抁抂抃抄抅抆抇抈抉把抋抌抍抎抏6290 抐抑抒抓抔投抖抗折抙抚抛抜抝択抟62a0 抠抡抢抣护报抦抧抨抩抪披抬抭抮抯62b0 抰抱抲抳抴抵抶抷抸抹抺抻押抽抾抿62c0 拀拁拂拃拄担拆拇拈拉拊拋拌拍拎拏62d0 拐拑拒拓拔拕拖拗拘拙拚招拜拝拞拟62e0 拠拡拢拣拤拥拦拧拨择拪拫括拭拮拯62f0 拰拱拲拳拴拵拶拷拸拹拺拻拼拽拾拿6300 挀持挂挃挄挅挆指挈按挊挋挌挍挎挏6310 挐挑挒挓挔挕挖挗挘挙挚挛挜挝挞挟—-——-——--—-—--——-—-—-—--—-—-—-—---——--——————-———-—-—-—18 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B CD E F———--———--——---———--——--—-—----—------—---—-—---——-——6320 挠挡挢挣挤挥挦挧挨挩挪挫挬挭挮振6330 挰挱挲挳挴挵挶挷挸挹挺挻挼挽挾挿6340 捀捁捂捃捄捅捆捇捈捉捊捋捌捍捎捏6350 捐捑捒捓捔捕捖捗捘捙捚捛捜捝捞损6360 捠捡换捣捤捥捦捧捨捩捪捫捬捭据捯6370 捰捱捲捳捴捵捶捷捸捹捺捻捼捽捾捿6380 掀掁掂掃掄掅掆掇授掉掊掋掌掍掎掏6390 掐掑排掓掔掕掖掗掘掙掚掛掜掝掞掟63a0 掠採探掣掤接掦控推掩措掫掬掭掮掯63b0 掰掱掲掳掴掵掶掷掸掹掺掻掼掽掾掿63c0 揀揁揂揃揄揅揆揇揈揉揊揋揌揍揎描63d0 提揑插揓揔揕揖揗揘揙揚換揜揝揞揟63e0 揠握揢揣揤揥揦揧揨揩揪揫揬揭揮揯63f0 揰揱揲揳援揵揶揷揸揹揺揻揼揽揾揿6400 搀搁搂搃搄搅搆搇搈搉搊搋搌損搎搏6410 搐搑搒搓搔搕搖搗搘搙搚搛搜搝搞搟6420 搠搡搢搣搤搥搦搧搨搩搪搫搬搭搮搯6430 搰搱搲搳搴搵搶搷搸搹携搻搼搽搾搿6440 摀摁摂摃摄摅摆摇摈摉摊摋摌摍摎摏6450 摐摑摒摓摔摕摖摗摘摙摚摛摜摝摞摟6460 摠摡摢摣摤摥摦摧摨摩摪摫摬摭摮摯---——---———-—-——-—--———-—————--—-——————---————--———-———19 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F——-————-—--———-———--—-———-—-——--————-————-————-——-———6470 摰摱摲摳摴摵摶摷摸摹摺摻摼摽摾摿6480 撀撁撂撃撄撅撆撇撈撉撊撋撌撍撎撏6490 撐撑撒撓撔撕撖撗撘撙撚撛撜撝撞撟64a0 撠撡撢撣撤撥撦撧撨撩撪撫撬播撮撯64b0 撰撱撲撳撴撵撶撷撸撹撺撻撼撽撾撿64c0 擀擁擂擃擄擅擆擇擈擉擊擋擌操擎擏64d0 擐擑擒擓擔擕擖擗擘擙據擛擜擝擞擟64e0 擠擡擢擣擤擥擦擧擨擩擪擫擬擭擮擯64f0 擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿6500 攀攁攂攃攄攅攆攇攈攉攊攋攌攍攎攏6510 攐攑攒攓攔攕攖攗攘攙攚攛攜攝攞攟6520 攠攡攢攣攤攥攦攧攨攩攪攫攬攭攮支6530 攰攱攲攳攴攵收攷攸改攺攻攼攽放政6540 敀敁敂敃敄故敆敇效敉敊敋敌敍敎敏6550 敐救敒敓敔敕敖敗敘教敚敛敜敝敞敟6560 敠敡敢散敤敥敦敧敨敩敪敫敬敭敮敯6570 数敱敲敳整敵敶敷數敹敺敻敼敽敾敿6580 斀斁斂斃斄斅斆文斈斉斊斋斌斍斎斏6590 斐斑斒斓斔斕斖斗斘料斚斛斜斝斞斟65a0 斠斡斢斣斤斥斦斧斨斩斪斫斬断斮斯65b0 新斱斲斳斴斵斶斷斸方斺斻於施斾斿—-—-—----—---—-———---——-——--——-——----——-——--—--—-—---—-20 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F—--——--————-———-—-————-——--—------———-—--——---—---—--65c0 旀旁旂旃旄旅旆旇旈旉旊旋旌旍旎族65d0 旐旑旒旓旔旕旖旗旘旙旚旛旜旝旞旟65e0 无旡既旣旤日旦旧旨早旪旫旬旭旮旯65f0 旰旱旲旳旴旵时旷旸旹旺旻旼旽旾旿6600 昀昁昂昃昄昅昆昇昈昉昊昋昌昍明昏6610 昐昑昒易昔昕昖昗昘昙昚昛昜昝昞星6620 映昡昢昣昤春昦昧昨昩昪昫昬昭昮是6630 昰昱昲昳昴昵昶昷昸昹昺昻昼昽显昿6640 晀晁時晃晄晅晆晇晈晉晊晋晌晍晎晏6650 晐晑晒晓晔晕晖晗晘晙晚晛晜晝晞晟6660 晠晡晢晣晤晥晦晧晨晩晪晫晬晭普景6670 晰晱晲晳晴晵晶晷晸晹智晻晼晽晾晿6680 暀暁暂暃暄暅暆暇暈暉暊暋暌暍暎暏6690 暐暑暒暓暔暕暖暗暘暙暚暛暜暝暞暟66a0 暠暡暢暣暤暥暦暧暨暩暪暫暬暭暮暯66b0 暰暱暲暳暴暵暶暷暸暹暺暻暼暽暾暿66c0 曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏66d0 曐曑曒曓曔曕曖曗曘曙曚曛曜曝曞曟66e0 曠曡曢曣曤曥曦曧曨曩曪曫曬曭曮曯66f0 曰曱曲曳更曵曶曷書曹曺曻曼曽曾替6700 最朁朂會朄朅朆朇月有朊朋朌服朎朏——-----——-—————-——-—-————------—---------—-—-———-—---—-21 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F—--—----——-—-———-——--—-——-—---——---————--—--—-—-——--—6710 朐朑朒朓朔朕朖朗朘朙朚望朜朝朞期6720 朠朡朢朣朤朥朦朧木朩未末本札朮术6730 朰朱朲朳朴朵朶朷朸朹机朻朼朽朾朿6740 杀杁杂权杄杅杆杇杈杉杊杋杌杍李杏6750 材村杒杓杔杕杖杗杘杙杚杛杜杝杞束6760 杠条杢杣杤来杦杧杨杩杪杫杬杭杮杯6770 杰東杲杳杴杵杶杷杸杹杺杻杼杽松板6780 枀极枂枃构枅枆枇枈枉枊枋枌枍枎枏6790 析枑枒枓枔枕枖林枘枙枚枛果枝枞枟67a0 枠枡枢枣枤枥枦枧枨枩枪枫枬枭枮枯67b0 枰枱枲枳枴枵架枷枸枹枺枻枼枽枾枿67c0 柀柁柂柃柄柅柆柇柈柉柊柋柌柍柎柏67d0 某柑柒染柔柕柖柗柘柙柚柛柜柝柞柟67e0 柠柡柢柣柤查柦柧柨柩柪柫柬柭柮柯67f0 柰柱柲柳柴柵柶柷柸柹柺査柼柽柾柿6800 栀栁栂栃栄栅栆标栈栉栊栋栌栍栎栏6810 栐树栒栓栔栕栖栗栘栙栚栛栜栝栞栟6820 栠校栢栣栤栥栦栧栨栩株栫栬栭栮栯6830 栰栱栲栳栴栵栶样核根栺栻格栽栾栿6840 桀桁桂桃桄桅框桇案桉桊桋桌桍桎桏6850 桐桑桒桓桔桕桖桗桘桙桚桛桜桝桞桟—-—--——---——-—————-—-—--—--—-——-————-————----————------22 汉字编码表U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F —-————-——-————-———-———--—-——--—-—--—----—-——--———————6860 桠桡桢档桤桥桦桧桨桩桪桫桬桭桮桯6870 桰桱桲桳桴桵桶桷桸桹桺桻桼桽桾桿6880 梀梁梂梃梄梅梆梇梈梉梊梋梌梍梎梏6890 梐梑梒梓梔梕梖梗梘梙梚梛梜條梞梟68a0 梠梡梢梣梤梥梦梧梨梩梪梫梬梭梮梯68b0 械梱梲梳梴梵梶梷梸梹梺梻梼梽梾梿68c0 检棁棂棃棄棅棆棇棈棉棊棋棌棍棎棏68d0 棐棑棒棓棔棕棖棗棘棙棚棛棜棝棞棟68e0 棠棡棢棣棤棥棦棧棨棩棪棫棬棭森棯。
TCHAR、wchar_t、char及字符串处理函数区别

一.ANSI和UNICODE
2.ANSI字符和Unicode字符
ANSI字符类型为CHAR,指向字符串的指针PSTR(LPSTR),指向一个常数字符串的指针PCSTR(LPCSTR);
对应的Windows定义的Unicode字符类型为WCHAR(typedef WCHAR wchar_t) ,指向Unicode字符串的指针PWSTR ,指向一个常数Unicode字符串的指针PCWSTR 。
2.通用字符串指针LPTSTR
LPTSTR
ifdef UNICODE it is LPWSTR(*wchar_t) for Unicode platforms;
else it is LPSTR (*char) for ANSI and DBCS platforms.
3.通用通用常数字符串指针LPCTSTR
LPCTSTR
ifdef UNICODE it is LPCWSTR(*const wchar_t) for Unicode platforms;
else it is LPCSTR (*const char)for ANSI and DBCS platforms.
将ANSI转换到Unicode
(1)通过L这个宏来实现,例如: CLSIDFromProgID( L"MAPI.Folder",&clsid);
(2)通过MultiByteToWideChar函数实现转换,例如:
char *szProgID = "MAPI.Folder";
WCHAR szWideProgID[128];
USES_CONVERSION;
ANSI编码和Unicode编码的不同-chaijunkun的专栏-CSDN博客

ANSI编码和Unicode编码的不同-chaijunkun的专栏-CSDN博客利用今天一天的时间,研究了一下ANSI编码和Unicode编码的不同,下面把我的研究成果写下来,以备日后参考。
ANSI编码最常见的应用就是在Windows当中的记事本程序中,当新建一个记事本,默认的保存编码格式就是ANSI,ANSI应该算是一种压缩编码了,当遇到标准的ASCII 字符时,采用单字节表示,当遇到非标准的ASCII字符(如中文)时,采用双字节表示。
Unicode编码标准已在近年来的多种新科技当中被加以采用,包含了可扩展置标语言(XML)、Java程序语言、以及最新的操作系统中。
下面用实验的方法来进行研究这两者之间的差别:首先要准备的软件有UltraEdit,用于对文本进行比较;其次用于分析网络字节序的辅助网站步入正题,在一个空白的文件夹下创建一个记事本文档“新建文本文档.txt”,在里面输入“宋体ABC(回车)”(不包含引号,最后要在ABC后输入一个回车),保存并关闭该文档,将此文件选中之后直接复制、粘贴,在相同的文件夹下就产生了“复件新建文本文档.txt”,再次打开“新建文本文档.txt”,选择菜单中的“文件”->“另存为”,在另存为对话框中,最下面有“编码”,选择Unicode。
保存,选择替换。
然后打开UltraEdit,在菜单中选择“文件”->“比较文件”(或直接按快捷键Alt+F11),选择第一个要比较的文件为“新建文本文档.txt”,选择第二个要比较的文件为“复件新建文本文档.txt”,“比较模式”选择文件,“二方比较”,“要比较的第一个文件”为“二进制”,“编辑器平铺”选择“垂直平铺”,点击“比较”,程序自动对这两个文本文件进行比较,并以16进制的形式显示,如下图所示根据分析,其代表的意义如下图所示采用Unicode编码存储的文本文档采用ANSI编码存储的文本文档在用Unicode对文字进行编码时,头两个字节一定是FF FE,这样用来标识此文档以Unicode编码下面来关注一下内容的编码部分中文,作为一种非ASCII字符,不可能只用一个字节来表示一个汉字,至少需要用两个字节来表示,所以,中文是一种双字节字符,下图所示的是在上查询到的“宋体”两个汉字,分别用Unicode编码和ANSI编码的十六进制内容:用Unicode编码的“宋体”用ANSI编码的“宋体”在Unicode编码中,“宋”这个汉字的编码为5B 8B,按照二进制的说法,5B是高八位,8B是低八位,然而,对照着前面所标注的结果,用Unicode编码的文本文件中,先存储的是8B这个低八位,然后再存储的5B这个高八位,这就是Windows内部在处理Unicode字符的时候与其他系统(如Mac OS)的不同,Windows先处理Unicode字符的低八位,然后再处理高八位;而有的系统是先处理高八位,再处理低八位,这就是为什么在 Internet上要规定“网络字节序”。
ANSI字符和UNICODE字符

ANSI字符和UNICODE字符ANSI和UNICODE(在软件开发中,特别是使用C语言的一些有关字符串处理的函数,ANSI和UNICODE是区分是用的,那么ANSI类型的字符和UNICODE类型的字符如何定义,如何使用呢?ANSI和UNICODE又如何转换呢?一.定义部分:ANSI: char str[1024]; 可用字符串处理函数:strcpy( ), strcat( ), strlen( )等等。
UNICODE:wchar_t str[1024];可用字符串处理函数二.可用函数:ANSI:即char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数。
UNICODE:即wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头的函数。
三.系统支持Windows 98 :只支持ANSI。
Windows 2k :既支持ANSI又支持UNICODE。
Windows CE :只支持UNICODE。
说明1.在COM里面只支持UNICODE。
2.Windows 2000整个OS系统都是基于UNICODE的,为此在windows 2000下使用ANSI是需要付出代价的,虽然在编码上不用任何的转换,但是这种转化是隐藏的,是占用系统资源的(CPU,内存)。
3.在Windows 98下必须使用UNICODE,则需要自己手动的编码切换。
三.如何区分:在我们软件开发中往往需要即支持ANSI又支持UNICODE,不可能在要求类型转换的时候,重新改变字符串的类型,和使用于字符串上的操作函数。
为此, 标准的C 运行期库和Windows 提供了宏定义的方式。
在C语言里面提供了_UNICODE宏(有下划线),在Windows 里面提供了UNICODE宏(无下划线),只要定了_UNICODE宏和UNICODE宏,系统就会自动切换到UNICODE版本,否则,系统按照ANSI的方式进行编译和运行。
Ansi、Unicode、UTF8等编码字符串之间的转换和写入文本文件(学习中……)

Ansi、Unicode、UTF8等编码字符串之间的转换和写⼊⽂本⽂件(学习中……)最近有⼈问我关于这个的问题,就此写⼀篇blogAnsi 字符串我们最熟悉,英⽂占⼀个字节,汉字2个字节,以⼀个/0结尾,常⽤于txt⽂本⽂件Unicode 字符串,每个字符(汉字、英⽂字母)都占2个字节,以2个连续的/0结尾,NT操作系统内核⽤的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*⽆法转换为unsigned short*之类的错误,其实就是unicodeUTF8 是Unicode⼀种压缩形式,英⽂A在unicode中表⽰为0x0041,⽼外觉得这种存储⽅式太浪费,因为浪费了50%的空间,于是就把英⽂压缩成1个字节,成了utf8编码,但是汉字在utf8中占3个字节,显然⽤做中⽂不如ansi合算,这就是中国的⽹页⽤作ansi编码⽽⽼外的⽹页常⽤utf8的原因。
UTF8在还游戏⾥运⽤的很⼴泛,⽐如WOW的lua脚本等下⾯来说⼀下转换,主要⽤代码来说明吧写⽂件我⽤了CFile类,其实⽤FILE*之类的也是⼀样,写⽂件和字符串什么类别没有关系,硬件只关⼼数据和长度Ansi转Unicode介绍2种⽅法void CConvertDlg::OnBnClickedButtonAnsiToUnicode(){//ansitounicodechar*szAnsi="abcd1234你我他";//预转换,得到所需空间的⼤⼩int wcsLen=::MultiByteToWideChar(CP_ACP,NULL,szAnsi,strlen(szAnsi),NULL,0);//分配空间要给'/0'留个空间,MultiByteToWideChar不会给'/0'空间wchar_t*wszString=new wchar_t[wcsLen+1];//转换::MultiByteToWideChar(CP_ACP,NULL,szAnsi,strlen(szAnsi),wszString,wcsLen);//最后加上'/0'wszString[wcsLen]='/0';//unicode版的MessageBoxAPI::MessageBoxW(GetSafeHwnd(),wszString,wszString,MB_OK);//接下来写⼊⽂本//写⽂本⽂件,头2个字节0xfeff,低位0xff写在前CFilecFile;cFile.Open(_T("1.txt"),CFile::modeWrite|CFile::modeCreate);//⽂件开头cFile.SeekToBegin();cFile.Write("/xff/xfe",2);//写⼊内容cFile.Write(wszString,wcsLen*sizeof(wchar_t));cFile.Flush();cFile.Close();delete[]wszString;wszString=NULL;//⽅法2//设置当前地域信息,不设置的话,使⽤这种⽅法,中⽂不会正确显⽰//需要#include<locale.h>setlocale(LC_CTYPE,"chs");wchar_twcsStr[100];//注意下⾯是⼤写S,在unicode中,代表后⾯是ansi字符串//swprintf是sprintf的unicode版本//格式的前⾯要加⼤写L,代表是unicodeswprintf(wcsStr,L"%S",szAnsi);::MessageBoxW(GetSafeHwnd(),wcsStr,wcsStr,MB_OK);}Unicode转Ansi也是2种⽅法void CConvertDlg::OnBnClickedButtonUnicodeToAnsi(){//unicodetoansiwchar_t*wszString=L"abcd1234你我他";//预转换,得到所需空间的⼤⼩,这次⽤的函数和上⾯名字相反int ansiLen=::WideCharToMultiByte(CP_ACP,NULL,wszString,wcslen(wszString),NULL,0,NULL,NULL); //同上,分配空间要给'/0'留个空间char*szAnsi=newchar[ansiLen+1];//转换//unicode版对应的strlen是wcslen::WideCharToMultiByte(CP_ACP,NULL,wszString,wcslen(wszString),szAnsi,ansiLen,NULL,NULL);//最后加上'/0'szAnsi[ansiLen]='/0';//Ansi版的MessageBoxAPI::MessageBoxA(GetSafeHwnd(),szAnsi,szAnsi,MB_OK);//接下来写⼊⽂本//写⽂本⽂件,ANSI⽂件没有BOMCFilecFile;cFile.Open(_T("1.txt"),CFile::modeWrite|CFile::modeCreate);//⽂件开头cFile.SeekToBegin();//写⼊内容cFile.Write(szAnsi,ansiLen*sizeof(char));cFile.Flush();cFile.Close();delete[]szAnsi;szAnsi=NULL;//⽅法2//和上⾯⼀样有另⼀种⽅法setlocale(LC_CTYPE,"chs");char szStr[100];//注意下⾯是⼤写,在ansi中,代表后⾯是unicode字符串//sprintfsprintf(szStr,"%S",wszString);::MessageBoxA(GetSafeHwnd(),szStr,szStr,MB_OK);}Unicode转UTF8void CConvertDlg::OnBnClickedButtonUnicodeToU8(){//unicodetoUTF8wchar_t*wszString=L"abcd1234你我他";//预转换,得到所需空间的⼤⼩,这次⽤的函数和上⾯名字相反int u8Len=::WideCharToMultiByte(CP_UTF8,NULL,wszString,wcslen(wszString),NULL,0,NULL,NULL); //同上,分配空间要给'/0'留个空间//UTF8虽然是Unicode的压缩形式,但也是多字节字符串,所以可以以char的形式保存char*szU8=newchar[u8Len+1];//转换//unicode版对应的strlen是wcslen::WideCharToMultiByte(CP_UTF8,NULL,wszString,wcslen(wszString),szU8,u8Len,NULL,NULL);//最后加上'/0'szU8[u8Len]='/0';//MessageBox不⽀持UTF8,所以只能写⽂件//接下来写⼊⽂本//写⽂本⽂件,UTF8的BOM是0xbfbbefCFilecFile;cFile.Open(_T("1.txt"),CFile::modeWrite|CFile::modeCreate);//⽂件开头cFile.SeekToBegin();//写BOM,同样低位写在前cFile.Write("/xef/xbb/xbf",3);//写⼊内容cFile.Write(szU8,u8Len*sizeof(char));cFile.Flush();cFile.Close();delete[]szU8;szU8=NULL;}UTF8转UNICODEvoid CConvertDlg::OnBnClickedButtonU8ToUnicode(){//UTF8toUnicode//由于中⽂直接复制过来会成乱码,编译器有时会报错,故采⽤16进制形式char*szU8="abcd1234/xe4/xbd/xa0/xe6/x88/x91/xe4/xbb/x96/x00";//预转换,得到所需空间的⼤⼩int wcsLen=::MultiByteToWideChar(CP_UTF8,NULL,szU8,strlen(szU8),NULL,0);//分配空间要给'/0'留个空间,MultiByteToWideChar不会给'/0'空间wchar_t*wszString=new wchar_t[wcsLen+1];//转换::MultiByteToWideChar(CP_UTF8,NULL,szU8,strlen(szU8),wszString,wcsLen);//最后加上'/0'wszString[wcsLen]='/0';//unicode版的MessageBoxAPI::MessageBoxW(GetSafeHwnd(),wszString,wszString,MB_OK);//写⽂本同ansitounicode}Ansi转换utf8和utf8转换Ansi就是上⾯2个的结合,把unicode作为中间量,进⾏2次转换即可=======================================================================转载声明:本⽂转⾃。
unicode编码区对照表

unicode編碼區對照表2150-218F Number Forms 數字形式2190-21FF Arrows 箭頭符號2200-22FF Mathematical Operators 數學運算符號2300-23FF Miscellaneous Technical 混合專門符號3000-303F CJK Symbols and Punctuation 中日韓符號和標點3040-309F Hiragana 平假名30A0-30FF Katakana 片假名3100-312F Bopomofo 注音符號31C0-31EF CJK Strokes 中日韓筆畫部件31F0-31FF Katakana Phonetic Extensions 片假名音標擴充3200-32FF Enclosed CJK Letters and Months 中日韓括號字母及月份3300-33FF CJK Compatibility 中日韓相容字元3400-4DBF CJK Unified Ideographs Extension A 中日韓統一表意文字擴充A4DC0-4DFF Yijing Hexagram Symbols 易經六十四卦象4E00-9FFF CJK Unified Ideographs 中日韓統一表意文字其他。
0000-007F Basic Latin 基本拉丁字母0080-00FF Latin-1 Supplement 拉丁字母補充-10100-017F Latin Extended-A 拉丁字母擴充-A0180-024F Latin Extended-B 拉丁字母擴充-B0250-02AF IPA Extensions 國際音標擴充02B0-02FF Spacing Modifier Letters 進格修飾字元0300-036F Combining Diacritical Marks 組合音標附加符號0370-03FF Greek and Coptic 希臘字母0400-04FF Cyrillic 西里爾字母0500-052F Cyrillic Supplement 西里爾字母補充0530-058F Armenian 亞美尼亞文0590-05FF Hebrew 希伯來文0600-06FF Arabic 基本阿拉伯文0700-074F Syriac 敘利亞文0750-077F Arabic Supplement 阿拉伯文補充0780-07BF Thaana 塔納文07C0-07FF N'Ko0900-097F Devanagari 天城體梵文字母0980-09FF Bengali 孟加拉文0A00-0A7F Gurmukhi 古爾穆基文0A80-0AFF Gujarati 古吉拉特文0B00-0B7F Oriya 奧里亞文0B80-0BFF Tamil 泰米爾文0C00-0C7F Telugu 泰盧固文0C80-0CFF Kannada 卡納達文0D00-0D7F Malayalam 馬拉亞拉姆文0D80-0DFF Sinhala 僧伽羅文0E00-0E7F Thai 泰文0E80-0EFF Lao 老撾文;寮國文0F00-0FFF Tibetan 藏文1000-109F Myanmar 緬甸文10A0-10FF Georgian 格魯吉亞文1100-11FF Hangul Jamo 諺文字母1200-137F Ethiopic 埃塞俄比亞文1380-139F Ethiopic Supplement 埃塞俄比亞文補充13A0-13FF Cherokee 切羅基文1400-167F Unified Canadian Aboriginal Syllabics 加拿大土著統一音節文字1680-169F Ogham 歐甘文16A0-16FF Runic 北歐古文1700-171F Tagalog 他加祿文1720-173F Hanunoo 哈努諾文1740-175F Buhid 布希德文1760-177F Tagbanwa 塔格巴努亞文1780-17FF Khmer 高棉文1800-18AF Mongolian 蒙古文1900-194F Limbu 林布文1950-197F Tai Le 傣哪文;德宏傣文1980-19DF New Tai Lue 新傣仂文19E0-19FF Khmer Symbols 高棉符號1A00-1A1F Buginese 布吉文1B00-1B7F Balinese 巴厘文1D00-1D7F Phonetic Extensions 音標擴充1D80-1DBF Phonetic Extensions Supplement 音標擴充補充1DC0-1DFF Combining Diacritical Marks Supplement 組合音標附加符號1E00-1EFF Latin Extended Additional 拉丁字母擴充附加1F00-1FFF Greek Extended 希臘文擴充2000-206F General Punctuation 一般標點符號2070-209F Superscripts and Subscripts 下標及上標20A0-20CF Currency Symbols 貨幣符號20D0-20FF Combining Diacritical Marks for Symbols 符號用組合附加符號2100-214F Letterlike Symbols 似字母符號2150-218F Number Forms 數字形式2190-21FF Arrows 箭頭符號2200-22FF Mathematical Operators 數學運算符號2300-23FF Miscellaneous Technical 混合專門符號2400-243F Control Pictures 控制圖像2440-245F Optical Character Recognition 光學字元識別2460-24FF Enclosed Alphanumerics 括號字母數字2500-257F Box Drawing 製表符2580-259F Block Elements 區塊元件25A0-25FF Geometric Shapes 幾何形狀2600-26FF Miscellaneous Symbols 混合什錦符號2700-27BF Dingbats 什錦符號27C0-27EF Miscellaneous Mathematical Symbols-A 混合數學符號-A27F0-27FF Supplemental Arrows-A 補充性箭頭符號-A2800-28FF Braille Patterns 盲文;盲人點字2900-297F Supplemental Arrows-B 補充性箭頭符號-B 2980-29FF Miscellaneous Mathematical Symbols-B 混合數學符號-B2A00-2AFF Supplemental Mathematical Operators 補充性數學運算符號2B00-2BFF Miscellaneous Symbols and Arrows 混合什錦符號和箭頭符號2C00-2C5F Glagolitic 格拉戈爾字母2C60-2C7F Latin Extended-C 拉丁字母擴充-C2C80-2CFF Coptic 科普特文2D00-2D2F Georgian Supplement 格魯吉亞文補充2D30-2D7F Tifinagh 提非納格字母2D80-2DDF Ethiopic Extended 埃塞俄比亞文擴充2E00-2E7F Supplemental Punctuation 補充性標點符號2E80-2EFF CJK Radicals Supplement 中日韓部首補充2F00-2FDF Kangxi Radicals 康熙部首2FF0-2FFF Ideographic Description Characters 漢字結構描述字符3000-303F CJK Symbols and Punctuation 中日韓符號和標點3040-309F Hiragana 平假名30A0-30FF Katakana 片假名3100-312F Bopomofo 注音符號3130-318F Hangul Compatibility Jamo 諺文相容字母3190-319F Kanbun 漢文標註號31A0-31BF Bopomofo Extended 注音符號擴充31C0-31EF CJK Strokes 中日韓筆畫部件31F0-31FF Katakana Phonetic Extensions 片假名音標擴充3200-32FF Enclosed CJK Letters and Months 中日韓括號字母及月份3300-33FF CJK Compatibility 中日韓相容字元3400-4DBF CJK Unified Ideographs Extension A 中日韓統一表意文字擴充A4DC0-4DFF Yijing Hexagram Symbols 易經六十四卦象4E00-9FFF CJK Unified Ideographs 中日韓統一表意文字A000-A48F Yi Syllables 彝文音節A490-A4CF Yi Radicals 彝文字母A700-A71F Modifier Tone Letters 聲調符號A720-A7FF Latin Extended-D 拉丁字母擴充-DA800-A82F Syloti NagriA840-A87F Phags-pa 八思巴字母AC00-D7AF Hangul Syllables 諺文音節D800-DB7F High Surrogates 高半代用區DB80-DBFF High Private Use Surrogates 高半專用代用區DC00-DFFF Low Surrogates 低半代用區E000-F8FF Private Use Area 專用區F900-FAFF CJK Compatibility Ideographs 中日韓相容表意文字FB00-FB4F Alphabetic Presentation Forms 字母變體顯現形式FB50-FDFF Arabic Presentation Forms-A 阿拉伯文變體顯現形式-AFE00-FE0F Variation Selectors 字型變換選取器FE10-FE1F Vertical Forms 豎式標點FE20-FE2F Combining Half Marks 組合半形標示FE30-FE4F CJK Compatibility Forms 中日韓相容形式FE50-FE6F Small Form Variants 小寫變體FE70-FEFF Arabic Presentation Forms-B 阿拉伯文變體顯現形式-BFF00-FFEF Halfwidth and Fullwidth Forms 半形及全形字符FFF0-FFFF Specials 特殊區域10000-1007F Linear B Syllabary 線形文字B音節文字10080-100FF Linear B Ideograms 線形文字B表意文字10100-1013F Aegean Numbers 愛琴數字10140-1018F Ancient Greek Numbers 古希臘數字10300-1032F Old Italic 古意大利文10330-1034F Gothic 哥特文10380-1039F Ugaritic 烏加里特楔形文字103A0-103DF Old Persian 古波斯文10400-1044F Deseret 猶他大學音標10450-1047F Shavian 肅伯納字母10480-104AF Osmanya10800-1083F Cypriot Syllabary 塞浦路斯音節文字10900-1091F Phoenician 腓尼基字母10A00-10A5F Kharoshthi 佉盧字母12000-123FF Cuneiform 楔形文字12400-1247F Cuneiform Numbers and Punctuation 楔形文字數字及標點1D000-1D0FF Byzantine Musical Symbols 東正教音樂符號1D100-1D1FF Musical Symbols 音樂符號1D200-1D24F Ancient Greek Musical Notation 古希臘音樂譜記號1D300-1D35F Tai Xuan Jing Symbols 太玄經符號1D360-1D37F Counting Rod Numerals 算籌記數式1D400-1D7FF Mathematical Alphanumeric Symbols 數學用字母數字符號20000-2A6DF CJK Unified Ideographs Extension B 中日韓統一表意文字擴充B2F800-2FA1F CJK Compatibility Ideographs Supplement 中日韓相容表意文字補充E0000-E007F Tags 語言編碼標籤E0100-E01EF Variation Selectors Supplement 字型變換選取器補充FFF80-FFFFF Supplementary Private Use Area-A 補充專用區-A10FF80-10FFFF Supplementary Private Use Area-B 補充專用區-B。
Unicode字符编码分布表——标点符号类

综合技术符号(U+2300 – U+23FF)
增补私用A区(U+F0000 – U+FFFFD)
第十五增补平面的尾段(U+FFF80 – U+FFFFF)
光学字符识别符号(U+2440 – U+245F)
增补私用B区(U+100000 – U+10FFFD)
【译注】“保留码位”是Unicode官方预定使用的标准码位,用户不能象对待“私用区码位”那样来自行定义其字形或符号分配。
(相关查阅:类字母符号)
综合符号和箭头(U+2B00 – U+2BFF)
(相关查阅:专用文字)
基本多语言平面的尾段(U+FFF0 – U+FFFF)
数学运算符
美元符号(U+0024)
中日韩相容符号字(U+3300 – U+33FF)
增补箭头符号集合B(U+2900 – U+297F)
货币符号
保留区(分配给每种文字或符号的编码区域里面或多或少都预留有一些未分配的码位,所有这些未分配的码位统称为“保留区”。本链接所示的只是整个Unicode编码分布图上所有保留区中的一个,注意编码区块中以阴影显示的码位即为保留码位)
Unicode5.1字符编码分布表——标点符号类
通用标点符号
数字和数字符号
综合符号
控制符集合:C0(U+0000 – U+001F,U+007F)、C1(U+0080 – U+009F)
ASCII标点符号(U+0020 – U+002F,U+003A – U+0040,U+005B – U+0060,U+007B – U+007E)
ASCll字符对应表

00110011 00110100 00110101 00110110 00110111 00111000 00111001 00111010 00111011 00111100 00111101 00111110 00111111 01000000 01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000 01001001 01001010 01001011 01001100 01001101 01001110 01001111 01010000 01010001 01010010 01010011 01010100 01010101 01010110 01010111 01011000 01011001 01011010 01011011 01011100 01011101 01011110 01011111 01100000 01100001 01100010 01100011 01100100 01100101 01100110 01100111 01101000
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
i j k l m n o p q r s t u v w x y z { | } ~
解释 空字符 标题开始 正文开始 正文结束 传输结束 请求 收到通知 响铃 退格 水平制表符 换行键 垂直制表符 换页键 回车键 不用切换 启用切换 数据链路转义 设备控制1 设备控制2 设备控制3 设备控制4 拒绝接收 同步空闲 传输块结束 取消/作废 介质中断 替补 溢出 文件分割符 分组符 记录分离符 单元分隔符
unicode和ansi字符集

Unicode :宽字节字符集1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数?可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。
调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。
2.如何对DBCS(双字节字符集)字符串进行操作?函数描述PTSTR CharNext (LPCTSTR ); 返回字符串中下一个字符的地址PTSTR CharPrev (LPCTSTR, LPCTSTR );返回字符串中上一个字符的地址BOOL IsDBCSLeadByte( BYTE );如果该字节是DBCS字符的第一个字节,则返回非0值3. 为什么要使用Unicode?(1)可以很容易地在不同语言之间进行数据交换。
(2)使你能够分配支持所有语言的单个二进制.exe文件或DLL文件。
(3)提高应用程序的运行效率。
Windows 2000是使用Unicode从头进行开发的,如果调用任何一个Windows函数并给它传递一个ANSI字符串,那么系统首先要将字符串转换成Unicode,然后将Unicode字符串传递给操作系统。
如果希望函数返回ANSI字符串,系统就会首先将Unicode字符串转换成ANSI字符串,然后将结果返回给你的应用程序。
进行这些字符串的转换需要占用系统的时间和内存。
通过从头开始用Unicode来开发应用程序,就能够使你的应用程序更加有效地运行。
Windows CE 本身就是使用Unicode的一种操作系统,完全不支持ANSI Windows 函数Windows 98 只支持ANSI,只能为ANSI开发应用程序。
Microsoft公司将COM从16位Windows转换成Win32时,公司决定需要字符串的所有COM 接口方法都只能接受Unicode字符串。
4. 如何编写Unicode源代码?Microsoft公司为Unicode设计了WindowsAPI,这样,可以尽量减少代码的影响。
Unicode字符编码表

注:除非有特别指明,否则以下符号皆属“半角”而非“全角”。
代码显示描述U+0020 空格U+0021 ! 叹号U+0022 " 双引号U+0023 # 井号U+0024 $ 价钱/货币符号U+0025 % 百分比符号U+0026 & 英文“and”的简写符号U+0027 ' 引号U+0028 ( 开圆括号U+0029 ) 关圆括号U+002A * 星号U+002B + 加号U+002C , 逗号U+002D - 连字号/减号U+002E . 句号U+002F / 由右上至左下的斜线U+0030 0 数字0U+0031 1 数字1U+0032 2 数字2U+0033 3 数字3U+0034 4 数字4U+0035 5 数字5U+0036 6 数字6U+0037 7 数字7U+0038 8 数字8U+0039 9 数字9U+003A : 冒号U+003B ; 分号U+003C < 小于符号U+003D = 等于号U+003E > 大于符号U+003F ? 问号U+0040 @ 英文“at”的简写符号U+0041 A 拉丁字母AU+0043 C 拉丁字母CU+0044 D 拉丁字母DU+0045 E 拉丁字母EU+0046 F 拉丁字母FU+0047 G 拉丁字母GU+0048 H 拉丁字母HU+0049 I 拉丁字母IU+004A J 拉丁字母JU+004B K 拉丁字母KU+004C L 拉丁字母LU+004D M 拉丁字母MU+004E N 拉丁字母NU+004F O 拉丁字母OU+0050 P 拉丁字母PU+0051 Q 拉丁字母QU+0052 R 拉丁字母RU+0053 S 拉丁字母SU+0054 T 拉丁字母TU+0055 U 拉丁字母UU+0056 V 拉丁字母VU+0057 W 拉丁字母WU+0058 X 拉丁字母XU+0059 Y 拉丁字母YU+005A Z 拉丁字母ZU+005B [ 开方括号U+005C \ 由左上至右下的斜线U+005D ] 关方括号U+005E ^ 抑扬(重音)符号U+005F _ 底线U+0060 ` 重音符U+0061 a 拉丁字母aU+0062 b 拉丁字母bU+0063 c 拉丁字母cU+0064 d 拉丁字母dU+0065 e 拉丁字母eU+0067 g 拉丁字母gU+0068 h 拉丁字母hU+0069 i 拉丁字母iU+006A j 拉丁字母jU+006B k 拉丁字母kU+006C l 拉丁字母l(L的小写)U+006D m 拉丁字母mU+006E n 拉丁字母nU+006F o 拉丁字母oU+0070 p 拉丁字母pU+0071 q 拉丁字母qU+0072 r 拉丁字母rU+0073 s 拉丁字母sU+0074 t 拉丁字母tU+0075 u 拉丁字母uU+0076 v 拉丁字母vU+0077 w 拉丁字母wU+0078 x 拉丁字母xU+0079 y 拉丁字母yU+007A z 拉丁字母zU+007B { 开卷曲括号U+007C | 直棒U+007D } 关卷曲括号U+007E ~ 波浪纹拉丁字母-1代码显示描述U+00A1 ? 倒转的叹号U+00A2 ? (货币单位)分钱、毫子U+00A3 ? (货币)英镑U+00A4 ¤(货币)当货币未有符号时以此替代U+00A5 ? (货币)日圆U+00A6 ? 两条断开的直线U+00A7 §文件分不同部分U+00A8 ¨(语言)分音U+00A9 ? 版权符U+00AA ? (意大利文、葡萄牙文、西班牙文)阴性序数U+00AB ? 双重角形引号U+00AC ? 逻辑非U+00AE ?? 商标U+00AF ? 长音U+00B0 °角度U+00B1 ±正负号U+00B2 ? 二次方U+00B3 ? 三次方U+00B4 ? 锐音符U+00B5 ? 百万分之一,10?6U+00B6 ? 文章分段U+00B7 ·间隔号U+00B8 ? 软音符U+00B9 ? 一次方U+00BA ? (意大利文、葡萄牙文、西班牙文)阳性序数U+00BB ? 指向右的双箭头U+00BC ? 四分之一U+00BD ? 二分之一U+00BE ? 四分之三U+00BF ? 倒转的问号U+00C1 ? 在拉丁字母A 上加重音符U+00C2 ? 在拉丁字母A 上加抑扬符“^”U+00C3 ? 在拉丁字母A 上加“~”U+00C4 ? 在拉丁字母A 上加分音符“..”U+00C5 ? 在拉丁字母A 上加角度符“°”U+00C6 ? 拉丁字母A、E 的混合U+00C7 ? 在拉丁字母C 下加软音符U+00C8 ? 在拉丁字母E 上加重音符U+00C9 ? 在拉丁字母E 上加锐音符U+00CA ? 在拉丁字母E 上加抑扬符U+00CB ? 在拉丁字母E 上加分音符U+00CC ? 在拉丁字母I 上加重音符U+00CD ? 在拉丁字母I 上加锐音符U+00CE ? 在拉丁字母I 上加抑扬符U+00D0 ? 古拉丁字母?,现只有法罗文和冰岛文使用U+00D1 ? 在拉丁字母N 上加波浪纹“~”U+00D2 ? 在拉丁字母O 上加锐音符U+00D3 ? 在拉丁字母O 上加重音符U+00D4 ? 在拉丁字母O 上加抑扬符U+00D5 ? 在拉丁字母O 上加波浪纹“~”U+00D6 ? 在拉丁字母O 上加分音符U+00D7 ×乘号,亦可拖按“Alt”键,同时按“41425”五键U+00D8 ? 在拉丁字母O 由右上至左下加对角斜线“/”U+00D9 ? 在拉丁字母U 上加重音符U+00DA ? 在拉丁字母U 上加锐音符U+00DB ? 在拉丁字母U 上加抑扬符U+00DC ? 在拉丁字母U 上加分音符U+00DD ? 在拉丁字母Y 上加锐音符U+00DE ? 古拉丁字母?,现已被“Th”取替U+00DF ? 德文字母?U+00E0 à在拉丁字母a 上加重音符U+00E1 á在拉丁字母a 上加锐音符U+00E2 ? 在拉丁字母a 上加抑扬符U+00E3 ? 在拉丁字母a 上加波浪纹“~”U+00E4 ? 在拉丁字母a 上加分音符U+00E5 ? 在拉丁字母a 上加角度符“°”U+00E6 ? 拉丁字母a、e 的混合U+00E7 ? 在拉丁字母c 上加软音符U+00E8 è在拉丁字母e 上加锐音符U+00E9 é在拉丁字母e 上加重音符U+00EA ê在拉丁字母e 上加抑扬符U+00EB ? 在拉丁字母e 上加分音符U+00EC ì在拉丁字母i 上加重音符U+00ED í在拉丁字母i 上加锐音符U+00EE ? 在拉丁字母i 上加抑扬符U+00EF ? 在拉丁字母i 上加分音符U+00F0 ? 古拉丁字母?的小写U+00F1 ? 在拉丁字母n 上加波浪纹“~”U+00F2 ò在拉丁字母o 上加重音符U+00F4 ? 在拉丁字母o 上加抑扬符U+00F5 ? 在拉丁字母o 上加波浪纹“~”U+00F6 ? 在拉丁字母o 上加分音符U+00F7 ÷除号,亦可拖按“Alt”键,同时按“41426”五键U+00F8 ? 在拉丁字母o 由右上至左下加对角斜线“/”U+00F9 ù在拉丁字母u 上加重音符U+00FA ú在拉丁字母u 上加锐音符U+00FB ? 在拉丁字母u 上加抑扬符U+00FC ü在拉丁字母u 上加分音符U+00FD ? 在拉丁字母u 上加锐音符U+00FE ? 古拉丁字母?,现已被“th”取替U+00FF ? 在拉丁字母u 上加分音符拉丁字母(扩展A)代码显示描述U+0100 ? 在拉丁字母A 上加长音符U+0101 ā 在拉丁字母a 上加长音符U+0102 ? 在拉丁字母A 上加短音符U+0103 ? 在拉丁字母a 上加短音符U+0104 ? 在拉丁字母A 上加反尾形符U+0105 ? 在拉丁字母a 上加反尾形符拉丁字母(扩展C)代码显示描述U+2C60 ? 在拉丁字母“L”中间加两条横线“=”U+2C61 ? 在拉丁字母“l”(L 的小写)中间加一条横线“-”U+2C62 ? 在拉丁字母“L”(大写)中间加一条波浪线“~”U+2C63 ? 在拉丁字母“P”中间加一条横线“-”U+2C64 ? 在拉丁字母“R”下加一条尾巴U+2C65 ? 在拉丁字母“a”上加一条对角斜线“/”U+2C66 ? 在拉丁字母“t”上加一条对角斜线“/”U+2C67 ? 在拉丁字母“H”下加一条尾巴U+2C68 ? 在拉丁字母“h”下加一条尾巴U+2C69 ? 在拉丁字母“K”下加一条尾巴U+2C6A ? 在拉丁字母“k”下加一条尾巴U+2C6B ? 在拉丁字母“Z”下加一条尾巴U+2C6C ? 在拉丁字母“z”下加一条尾巴U+2C74 ? 在拉丁字母“v”的起笔加一个弯勾U+2C75 ? 拉丁字母“H”的左半部U+2C76 ? 拉丁字母“h”的左半部U+2C77 ? 希腊字母“φ”的上半部彝文字母拉丁字母(扩展D)代码显示描述U+A720 ? 强调音调音昂的改造字母U+A721 ? 强调音调低沉的改造字母特殊代码显示描述U+FFFC 取代无法显示字符的“OBJ”U+FFFD ? 无法显示的字符以它取代Unicode 编码表Unicode 编码表BMP SMP SIP SSP0000—0FFF 8000—8FFF 10000—10FFF 20000—20FFF 28000—28FFF E0000—E0FFF1000—1FFF 9000—9FFF 21000—21FFF 29000—29FFF2000—2FFF A000—AFFF 12000—12FFF 22000—22FFF 2A000—2AFFF 3000—3FFF B000—BFFF 23000—23FFF4000—4FFF C000—CFFF 24000—24FFF 2F000—2FFFF5000—5FFF D000—DFFF 1D000—1DFFF 25000—25FFF6000—6FFF E000—EFFF 26000—26FFF7000—7FFF F000—FFFF 1F000—1FFFF 27000—27FFF盲文图案。
Unicode字符列表(超完整)

Unicode字符列表(超完整)Unicode字符列表(超完整)Unicode, 字符, 列表代码显⽰描述U+0020 空格U+0021 ! 叹号U+0022 " 双引号U+0023 # 井号U+0024 $ 价钱/货币符号U+0025 % 百分⽐符号U+0026 & 英⽂“and”的简写符号U+0027 ' 引号U+0028 ( 开圆括号U+0029 ) 关圆括号U+002A * 星号U+002B + 加号U+002C , 逗号U+002D - 连字号/减号U+002E . 句号U+002F / 由右上⾄左下的斜线U+0030 0 数字 0U+0031 1 数字 1U+0032 2 数字 2U+0033 3 数字 3U+0034 4 数字 4U+0035 5 数字 5U+0036 6 数字 6U+0037 7 数字 7U+0038 8 数字 8U+0039 9 数字 9U+003A : 冒号U+003B ; 分号U+003C < ⼩于符号U+003D = 等于号U+003E > ⼤于符号U+003F ? 问号U+0040 @ 英⽂“at”的简写符号U+0041 A 拉丁字母 AU+0042 B 拉丁字母 BU+0043 C 拉丁字母 CU+0044 D 拉丁字母 DU+0045 E 拉丁字母 EU+0046 F 拉丁字母 FU+0047 G 拉丁字母 GU+0048 H 拉丁字母 HU+0049 I 拉丁字母 IU+004A J 拉丁字母 JU+004B K 拉丁字母 KU+004C L 拉丁字母 LU+004D M 拉丁字母 MU+004E N 拉丁字母 NU+004F O 拉丁字母 OU+0050 P 拉丁字母 PU+0051 Q 拉丁字母 QU+0052 R 拉丁字母 RU+0053 S 拉丁字母 SU+0054 T 拉丁字母 TU+0055 U 拉丁字母 UU+0056 V 拉丁字母 VU+0057 W 拉丁字母 WU+0058 X 拉丁字母 XU+0059 Y 拉丁字母 YU+005A Z 拉丁字母 ZU+005B [ 开⽅括号U+005C \ 由左上⾄右下的斜线U+005E ^ 抑扬(重⾳)符号U+005F _ 底线U+0060 ` 重⾳符U+0061 a 拉丁字母 aU+0062 b 拉丁字母 bU+0063 c 拉丁字母 cU+0064 d 拉丁字母 dU+0065 e 拉丁字母 eU+0066 f 拉丁字母 fU+0067 g 拉丁字母 gU+0068 h 拉丁字母 hU+0069 i 拉丁字母 iU+006A j 拉丁字母 jU+006B k 拉丁字母 kU+006C l 拉丁字母 l(L的⼩写)U+006D m 拉丁字母 mU+006E n 拉丁字母 nU+006F o 拉丁字母 oU+0070 p 拉丁字母 pU+0071 q 拉丁字母 qU+0072 r 拉丁字母 rU+0073 s 拉丁字母 sU+0074 t 拉丁字母 tU+0075 u 拉丁字母 uU+0076 v 拉丁字母 vU+0077 w 拉丁字母 wU+0078 x 拉丁字母 xU+0079 y 拉丁字母 yU+007A z 拉丁字母 zU+007B { 开卷曲括号U+007C | 直棒U+007D } 关卷曲括号U+007E ~ 波浪纹拉丁字母-1代码显⽰描述U+00A1 ? 倒转的叹号U+00A2 ? (货币单位)分钱、毫⼦U+00A3 ? (货币)英镑U+00A4 ¤ (货币)当货币未有符号时以此替代U+00A5 ? (货币)⽇圆U+00A6 ? 两条断开的直线U+00A7 § ⽂件分不同部分U+00A8 ¨ (语⾔)分⾳U+00A9 ? 版权符U+00AA ? (意⼤利⽂、葡萄⽛⽂、西班⽛⽂)阴性序数U+00AB ? 双重⾓形引号U+00AC ? 逻辑⾮U+00AE ?? 商标U+00AF ? 长⾳U+00B0 ° ⾓度U+00B1 ± 正负号U+00B2 ? ⼆次⽅U+00B3 ? 三次⽅U+00B4 ? 锐⾳符U+00B5 ? 百万分之⼀,10?6U+00B6 ? ⽂章分段U+00B7 · 间隔号U+00B8 ? 软⾳符U+00B9 ? ⼀次⽅U+00BA ? (意⼤利⽂、葡萄⽛⽂、西班⽛⽂)阳性序数U+00BB ? 指向右的双箭头U+00BC ? 四分之⼀U+00BD ? ⼆分之⼀U+00BE ? 四分之三U+00C5 ? 在拉丁字母 A 上加⾓度符“°”U+00C6 ? 拉丁字母 A、E 的混合U+00C7 ? 在拉丁字母 C 下加软⾳符U+00C8 ? 在拉丁字母 E 上加重⾳符U+00C9 ? 在拉丁字母 E 上加锐⾳符U+00CA ? 在拉丁字母 E 上加抑扬符U+00CB ? 在拉丁字母 E 上加分⾳符U+00CC ? 在拉丁字母 I 上加重⾳符U+00CD ? 在拉丁字母 I 上加锐⾳符U+00CE ? 在拉丁字母 I 上加抑扬符U+00CF ? 在拉丁字母 I 上加分⾳符U+00D0 ? 古拉丁字母 ?,现只有法罗⽂和冰岛⽂使⽤U+00D1 ? 在拉丁字母 N 上加波浪纹“~”U+00D2 ? 在拉丁字母 O 上加锐⾳符U+00D3 ? 在拉丁字母 O 上加重⾳符U+00D4 ? 在拉丁字母 O 上加抑扬符U+00D5 ? 在拉丁字母 O 上加波浪纹“~”U+00D6 ? 在拉丁字母 O 上加分⾳符U+00D7 × 乘号,亦可拖按“Alt”键,同时按“41425”五键U+00D8 ? 在拉丁字母 O 由右上⾄左下加对⾓斜线“/” U+00D9 ? 在拉丁字母 U 上加重⾳符U+00DA ? 在拉丁字母 U 上加锐⾳符U+00DB ? 在拉丁字母 U 上加抑扬符U+00DC ? 在拉丁字母 U 上加分⾳符U+00DD ? 在拉丁字母 Y 上加锐⾳符U+00DE ? 古拉丁字母 ?,现已被“Th”取替U+00DF ? 德⽂字母 ?U+00E0 à 在拉丁字母 a 上加重⾳符U+00E1 á 在拉丁字母 a 上加锐⾳符U+00E2 ? 在拉丁字母 a 上加抑扬符U+00E3 ? 在拉丁字母 a 上加波浪纹“~”U+00E4 ? 在拉丁字母 a 上加分⾳符U+00E5 ? 在拉丁字母 a 上加⾓度符“°”U+00E6 ? 拉丁字母 a、e 的混合U+00E7 ? 在拉丁字母 c 上加软⾳符U+00E8 è 在拉丁字母 e 上加锐⾳符U+00E9 é 在拉丁字母 e 上加重⾳符U+00EA ê 在拉丁字母 e 上加抑扬符U+00EB ? 在拉丁字母 e 上加分⾳符U+00EC ì 在拉丁字母 i 上加重⾳符U+00ED í 在拉丁字母 i 上加锐⾳符U+00EE ? 在拉丁字母 i 上加抑扬符U+00EF ? 在拉丁字母 i 上加分⾳符U+00F0 ? 古拉丁字母 ?的⼩写U+00F1 ? 在拉丁字母 n 上加波浪纹“~”U+00F2 ò 在拉丁字母 o 上加重⾳符U+00F3 ó 在拉丁字母 o 上加锐⾳符U+00F4 ? 在拉丁字母 o 上加抑扬符U+00F5 ? 在拉丁字母 o 上加波浪纹“~”U+00F6 ? 在拉丁字母 o 上加分⾳符U+00F7 ÷ 除号,亦可拖按“Alt”键,同时按“41426”五键U+00F8 ? 在拉丁字母 o 由右上⾄左下加对⾓斜线“/” U+00F9 ù 在拉丁字母 u 上加重⾳符U+00FA ú 在拉丁字母 u 上加锐⾳符U+00FB ? 在拉丁字母 u 上加抑扬符U+00FC ü 在拉丁字母 u 上加分⾳符U+00FD ? 在拉丁字母 u 上加锐⾳符U+00FE ? 古拉丁字母 ?,现已被“th”取替U+00FF ? 在拉丁字母 u 上加分⾳符拉丁字母(扩展 A)U+0104 ? 在拉丁字母 A 上加反尾形符U+0105 ? 在拉丁字母 a 上加反尾形符拉丁字母(扩展 C)代码显⽰描述U+2C60 ? 在拉丁字母“L”中间加两条横线“=”U+2C61 ? 在拉丁字母“l”(L 的⼩写)中间加⼀条横线“-”U+2C62 ? 在拉丁字母“L”(⼤写)中间加⼀条波浪线“~” U+2C63 ? 在拉丁字母“P”中间加⼀条横线“-” U+2C64 ? 在拉丁字母“R”下加⼀条尾巴 U+2C65 ? 在拉丁字母“a”上加⼀条对⾓斜线“/” U+2C66 ? 在拉丁字母“t”上加⼀条对⾓斜线“/” U+2C67 ? 在拉丁字母“H”下加⼀条尾巴 U+2C68 ? 在拉丁字母“h”下加⼀条尾巴 U+2C69 ? 在拉丁字母“K”下加⼀条尾巴 U+2C6A ? 在拉丁字母“k”下加⼀条尾巴 U+2C6B ? 在拉丁字母“Z”下加⼀条尾巴 U+2C6C ? 在拉丁字母“z”下加⼀条尾巴 U+2C74 ? 在拉丁字母“v”的起笔加⼀个弯勾 U+2C75 ? 拉丁字母“H”的左半部 U+2C76 ? 拉丁字母“h”的左半部 U+2C77 ? 希腊字母“φ”的上半部彝⽂字母拉丁字母(扩展 D)代码显⽰描述 U+A720 ? 强调⾳调⾳昂的改造字母 U+A721 ? 强调⾳调低沉的改造字母特殊代码显⽰描述 U+FFFC 取代⽆法显⽰字符的“OBJ” U+FFFD ? ⽆法显⽰的字符以它取代中⽂标点符号unicode码名称 Unicode 符号句号 3002 。
详解C++中的ANSI与Unicode和UTF8三种字符编码基本原理与相互转换

详解C++中的ANSI与Unicode和UTF8三种字符编码基本原理与相互转换⽬录1、概述2、Visual Studio中的字符编码3、ANSI窄字节编码4、Unicode宽字节编码5、UTF8编码6、如何使⽤字符编码7、三种字符编码之间的相互转换(附源码)7.1、ANSI编码与Unicode编码之间的转换7.2、UTF8编码与Unicode编码之间的转换7.3、ANSI编码与UTF8编码之间的转换8、Windows系统对使⽤ANSI窄字节字符编码的程序的兼容9、字符编码导致程序启动失败的案例1、概述在⽇常的软件开发过程中,会时不时地去处理不同编码格式的字符串,特别是在处理⽂件路径的相关场景中,⽐如我们要通过路径去读写⽂件、通过路径去加载库⽂件等。
常见的字符编码格式有ANSI窄字节编码、Unicode宽字节编码以及UTF8可变长编码。
在Linux系统中,主要使⽤UTF8编码;在Windows系统中,既⽀持ANSI编码,也⽀持Unicode编码。
通⽤的⼤⼩写字母和数字则使⽤全球统⼀的固定编码,即ASCII码。
ANSI编码是各个国家不同语种下的字符编码,其字符的编码值只在该语种中有效,不是全球统⼀编码的,⽐如中⽂的GB2312编码就是简体中⽂的ANSI编码。
Unicode编码则是全球统⼀的双字节编码,所有语种的字符在⼀起统⼀的编码,每个字符的编码都是全球唯⼀的。
UTF8编码是⼀种可变长的宽字节编码,也是⼀种全球统⼀的字符编码。
本⽂将以WIndows中使⽤Visual Studio进⾏C++编程时需要处理的字符编码问题为切⼊点,详细讲解⼀下字符编码的相关内容。
2、Visual Studio中的字符编码在Visual Studio中编写C++代码时,该如何指定字符串的编码呢?其实很简单,使⽤双引号括住的字符串,使⽤的就是ANSI 窄字节编码;使⽤L+双引号括住的字符串,使⽤的就是Unicode宽字节编码,如下所⽰:char* pStr = "This is a Test."; // ANSI编码WCHAR* pWStr = L"This is a Test."; // Unicode宽字节编码我们也可以使⽤_T宏定义来指定字符串的编码格式:TCHAR* pStr = _T("This is a Test.");设置_T后,则由⼯程配置属性中的字符集设置来确定到底是使⽤哪种编码:如果选择多字节字符集,_T就被解释为双引号,即使⽤ANSI窄字节编码;如果选择Unicode字符集,_T就被解释为L,即使⽤Unicode宽字节编码。
ANSI与UNICODE字符函数对照表

ANSI与UNICODE字符函数对照表宽字符处理函数函数与普通函数对照表字符分类:宽字符函数普通C函数描述iswalnum()isalnum()测试字符是否为数字或字母iswalpha()isalpha()测试字符是否是字母iswcntrl()iscntrl()测试字符是否是控制符iswdigit()isdigit()测试字符是否为数字iswgraph()isgraph()测试字符是否是可见字符iswlower()islower()测试字符是否是小写字符iswprint()isprint()测试字符是否是可打印字符iswpunct()ispunct()测试字符是否是标点符号iswspace()isspace()测试字符是否是空白符号iswupper()isupper()测试字符是否是大写字符iswxdigit()isxdigit()测试字符是否是十六进制的数字大小写转换:宽字符函数普通C函数描述towlower()tolower()把字符转换为小写towupper()toupper()把字符转换为大写字符比较:宽字符函数普通C函数描述wcscoll()strcoll()比较字符串日期和时间转换:宽字符函数描述strftime()根据指定的字符串格式和locale设置格式化日期和时间wcsftime()根据指定的字符串格式和locale设置格式化日期和时间,并返回宽字符串strptime()根据指定格式把字符串转换为时间值,是strftime的反过程打印和扫描字符串:宽字符函数描述fprintf()/fwprintf()使用vararg参量的格式化输出fscanf()/fwscanf()格式化读入printf()使用vararg参量的格式化输出到标准输出scanf()从标准输入的格式化读入sprintf()/swprintf()根据vararg参量表格式化成字符串sscanf()以字符串作格式化读入vfprintf()/vfwprintf()使用stdarg参量表格式化输出到文件vprintf()使用stdarg参量表格式化输出到标准输出vsprintf()/vswprintf()格式化stdarg参量表并写到字符串数字转换:宽字符函数普通C函数描述wcstod()strtod()把宽字符的初始部分转换为双精度浮点数wcstol()strtol()把宽字符的初始部分转换为长整数wcstoul()strtoul()把宽字符的初始部分转换为无符号长整数多字节字符和宽字符转换及操作:宽字符函数描述mblen()根据locale的设置确定字符的字节数mbstowcs()把多字节字符串转换为宽字符串mbtowc()/btowc()把多字节字符转换为宽字符wcstombs()把宽字符串转换为多字节字符串wctomb()/wctob()把宽字符转换为多字节字符输入和输出:宽字符函数普通C函数描述fgetwc()fgetc()从流中读入一个字符并转换为宽字符fgetws()fgets()从流中读入一个字符串并转换为宽字符串fputwc()fputc()把宽字符转换为多字节字符并且输出到标准输出fputws()fputs()把宽字符串转换为多字节字符并且输出到标准输出串getwc()getc()从标准输入中读取字符,并且转换为宽字符getwchar()getchar()从标准输入中读取字符,并且转换为宽字符None gets()使用fgetws()putwc()putc()把宽字符转换成多字节字符并且写到标准输出putwchar()putchar()把宽字符转换成多字节字符并且写到标准输出None puts()使用fputws()ungetwc()ungetc()把一个宽字符放回到输入流中字符串操作:宽字符函数普通C函数描述wcscat()strcat()把一个字符串接到另一个字符串的尾部wcsncat()strncat()类似于wcscat(),而且指定粘接字符串的粘接长度.wcschr()strchr()查找子字符串的第一个位置wcsrchr()strrchr()从尾部开始查找子字符串出现的第一个位置wcspbrk()strpbrk()从一字符字符串中查找另一字符串中任何一个字符第一次出现的位置wcswcs()/wcsstr()strchr()在一字符串中查找另一字符串第一次出现的位置wcscspn()strcspn()返回不包含第二个字符串的的初始数目wcsspn()strspn()返回包含第二个字符串的初始数目wcscpy()strcpy()拷贝字符串wcsncpy()strncpy()类似于wcscpy(),同时指定拷贝的数目wcscmp()strcmp()比较两个宽字符串wcsncmp()strncmp()类似于wcscmp(),还要指定比较字符字符串的数目wcslen()strlen()获得宽字符串的数目wcstok()strtok()根据标示符把宽字符串分解成一系列字符串wcswidth()None 获得宽字符串的宽度wcwidth()None 获得宽字符的宽度另外还有对应于memory操作的wmemcpy(),wmemchr (),wmemcmp(),wmemmove (),wmemset().操作ANSI串函数Unicode 串函数Length strlen wcslen Concatenate strcat, strncat wcscat, wcsncat, RtlAppendUnicodeStringT oString, RtlAppendUnicodeToStringCopy strcpy, strncpy, RtlCopyString wcscpy, wcsncpy, RtlCopyUnicodeStringReverse _strrev _wcsrev Compare strcmp, strncmp, _stricmp, _strnicmp, RtlCompareString, RtlEqualString wcscmp, wcsncmp, _wcsicmp, _wcsnicmp, RtlCompareUnicodeString, RtlEqualUnicodeString, RtlPrefixUnicodeStringInitialize _strset, _strnset, RtlInitAnsiString, RtlInitString _wcsnset, RtlInitUnicodeStringSearch strchr, strrchr, strspn, strstr wcschr, wcsrchr, wcsspn, wcsstrUpper/lowercase _strlwr, _strupr, RtlUpperString _wcslwr, _wcsupr, RtlUpcaseUnicodeStringCharacter isdigit, islower, isprint, isspace, isupper, isxdigit, tolower, toupper, RtlUpperChar towlower, towupper, RtlUpcaseUnicodeCharFormat sprintf, vsprintf, _snprintf, _vsnprintf,_splitpath swprintf, _snwprintf,_wsplitpathString conversion atoi, atol, _itoa _itow, RtlIntegerToUnicodeString, RtlUnicodeStringT oInteger Type conversion RtlAnsiStringToUnicodeSize,RtlAnsiStringT oUnicodeString RtlUnicodeStringToAnsiString Memory release RtlFreeAnsiString RtlFreeUnicodeString用C函数来转换Unicode和ANSI文字char sChar[MAX_PATH];const WCHAR wChar[] = L"我的朋友";// 把wChar这个Unicode字符串转换成ANSI字符串,保存到sChar,并且返回ANSI的字符串大小,如果失败,则返回-1 wcstombs(sChar, wChar, MAX_PATH);这样是运行不过不去的,总是返回-1。
有关UNICODE、ANSI字符集和相关字符串操作的总结

有关UNICODE、ANSI字符集和相关字符串操作的总结其中大部分内容摘自《Windows 核心编程》第二章对Unicode的讲解部分Q 如何实现ANSI和UNICODE的相互转换A将ANSI转换到Unicode(1)通过L这个宏来实现,例如: CLSIDFromProgID( L"MAPI.Folder",&clsid);(2)通过MultiByteToWideChar函数实现转换,例如:char *szProgID = "MAPI.Folder";WCHAR szWideProgID[128];CLSID clsid;long lLen = MultiByteToWideChar(CP_ACP,0,szProgID,strlen(szProgID),szWi deProgID,sizeof(szWideProgID));szWideProgID[lLen] = '\0';(3)通过A2W宏来实现,例如:USES_CONVERSION;CLSIDFromProgID( A2W(szProgID),&clsid);将Unicode转换到ANSI(1)使用WideCharToMultiByte,例如:// 假设已经有了一个Unicode 串 wszSomeString...char szANSIString [MAX_PATH];WideCharToMultiByte ( CP_ACP, WC_COMPOSITECHECK, wszSomeStri ng, -1, szANSIString, sizeof(szANSIString), NULL, NULL );(2)使用W2A宏来实现,例如:USES_CONVERSION;pTemp=W2A(wszSomeString);注意在转换时可能存在的问题:因为ANSI转UNICODE,如果使用A2W或MultiByteToWideChar(第一个参数是CP_ACP)的话,是根据系统默认的转码表,把转入的ANSI字符串看作Multi-Bytes 字符串处理的,如果是中文(中文windows默认就是中文),一个大于0x87的byte 可能和下一 byte一起被看作一个汉字,然后根据汉字的Unicode编码转换为相同的Unicode汉字,如果找不到相应的编码,一般就用一个默认的字符来取代它(一般是问号“?”),由此看,如果随便把一段数据给他转,转化很复杂而且极可能不可逆,而且你加密过的ANSI码是相当混乱的有很多〉0x87的 byte,转换就变得不可逆了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宽字符处理函数函数与普通函数对照表
字符分类:宽字符函数普通C函数描述
iswalnum()isalnum()测试字符是否为数字或字母
iswalpha()isalpha()测试字符是否是字母
iswcntrl()iscntrl()测试字符是否是控制符
iswdigit()isdigit()测试字符是否为数字
iswgraph()isgraph()测试字符是否是可见字符
iswlower()islower()测试字符是否是小写字符
iswprint()isprint()测试字符是否是可打印字符
iswpunct()ispunct()测试字符是否是标点符号
iswspace()isspace()测试字符是否是空白符号
iswupper()isupper()测试字符是否是大写字符
iswxdigit()isxdigit()测试字符是否是十六进制的数字
大小写转换:
宽字符函数普通C函数描述
towlower()tolower()把字符转换为小写
towupper()toupper()把字符转换为大写
字符比较:宽字符函数普通C函数描述
wcscoll()strcoll()比较字符串
日期和时间转换:
宽字符函数描述
strftime()根据指定的字符串格式和locale设置格式化日期和时间
wcsftime()根据指定的字符串格式和locale设置格式化日期和时间,并返回宽字符串strptime()根据指定格式把字符串转换为时间值,是strftime的反过程
打印和扫描字符串:
宽字符函数描述
fprintf()/fwprintf()使用vararg参量的格式化输出
fscanf()/fwscanf()格式化读入
printf()使用vararg参量的格式化输出到标准输出
scanf()从标准输入的格式化读入
sprintf()/swprintf()根据vararg参量表格式化成字符串
sscanf()以字符串作格式化读入
vfprintf()/vfwprintf()使用stdarg参量表格式化输出到文件
vprintf()使用stdarg参量表格式化输出到标准输出
vsprintf()/vswprintf()格式化stdarg参量表并写到字符串
数字转换:
宽字符函数普通C函数描述
wcstod()strtod()把宽字符的初始部分转换为双精度浮点数
wcstol()strtol()把宽字符的初始部分转换为长整数
wcstoul()strtoul()把宽字符的初始部分转换为无符号长整数
多字节字符和宽字符转换及操作:
宽字符函数描述
mblen()根据locale的设置确定字符的字节数
mbstowcs()把多字节字符串转换为宽字符串
mbtowc()/btowc()把多字节字符转换为宽字符
wcstombs()把宽字符串转换为多字节字符串
wctomb()/wctob()把宽字符转换为多字节字符
输入和输出:
宽字符函数普通C函数描述
fgetwc()fgetc()从流中读入一个字符并转换为宽字符
fgetws()fgets()从流中读入一个字符串并转换为宽字符串
fputwc()fputc()把宽字符转换为多字节字符并且输出到标准输出
fputws()fputs()把宽字符串转换为多字节字符并且输出到标准输出串
getwc()getc()从标准输入中读取字符,并且转换为宽字符
getwchar()getchar()从标准输入中读取字符,并且转换为宽字符
None gets()使用fgetws()
putwc()putc()把宽字符转换成多字节字符并且写到标准输出
putwchar()putchar()把宽字符转换成多字节字符并且写到标准输出
None puts()使用fputws()
ungetwc()ungetc()把一个宽字符放回到输入流中
字符串操作:
宽字符函数普通C函数描述
wcscat()strcat()把一个字符串接到另一个字符串的尾部
wcsncat()strncat()类似于wcscat(),而且指定粘接字符串的粘接长度.
wcschr()strchr()查找子字符串的第一个位置
wcsrchr()strrchr()从尾部开始查找子字符串出现的第一个位置
wcspbrk()strpbrk()从一字符字符串中查找另一字符串中任何一个字符第一次出现的位置
wcswcs()/wcsstr()strchr()在一字符串中查找另一字符串第一次出现的位置wcscspn()strcspn()返回不包含第二个字符串的的初始数目
wcsspn()strspn()返回包含第二个字符串的初始数目
wcscpy()strcpy()拷贝字符串
wcsncpy()strncpy()类似于wcscpy(),同时指定拷贝的数目
wcscmp()strcmp()比较两个宽字符串
wcsncmp()strncmp()类似于wcscmp(),还要指定比较字符字符串的数目wcslen()strlen()获得宽字符串的数目
wcstok()strtok()根据标示符把宽字符串分解成一系列字符串
wcswidth()None 获得宽字符串的宽度
wcwidth()None 获得宽字符的宽度
另外还有对应于memory操作的wmemcpy(),wmemchr(),wmemcmp(),wmemmove (),wmemset().
操作ANSI串函数Unicode 串函数
Length strlen wcslen Concatenate strcat, strncat wcscat, wcsncat, RtlAppendUnicodeStringT oString, RtlAppendUnicodeToString
Copy strcpy, strncpy, RtlCopyString wcscpy, wcsncpy, RtlCopyUnicodeString
Reverse _strrev _wcsrev Compare strcmp, strncmp, _stricmp, _strnicmp, RtlCompareString, RtlEqualString wcscmp, wcsncmp, _wcsicmp, _wcsnicmp, RtlCompareUnicodeString, RtlEqualUnicodeString, RtlPrefixUnicodeString
Initialize _strset, _strnset, RtlInitAnsiString, RtlInitString _wcsnset, RtlInitUnicodeString
Search strchr, strrchr, strspn, strstr wcschr, wcsrchr, wcsspn, wcsstr
Upper/lowercase _strlwr, _strupr, RtlUpperString _wcslwr, _wcsupr, RtlUpcaseUnicodeString
Character isdigit, islower, isprint, isspace, isupper, isxdigit, tolower, toupper, RtlUpperChar towlower, towupper, RtlUpcaseUnicodeChar
Format sprintf, vsprintf, _snprintf, _vsnprintf,_splitpath swprintf, _snwprintf,_wsplitpath
String conversion atoi, atol, _itoa _itow, RtlIntegerToUnicodeString, RtlUnicodeStringToInteger
Type conversion RtlAnsiStringToUnicodeSize, RtlAnsiStringToUnicodeString RtlUnicodeStringToAnsiString
Memory release RtlFreeAnsiString RtlFreeUnicodeString
用C函数来转换Unicode和ANSI文字
char sChar[MAX_PATH];
const WCHAR wChar[] = L"我的朋友";
// 把wChar这个Unicode字符串转换成ANSI字符串,保存到sChar,并且返回ANSI的字符串大小,如果失败,则返回-1
wcstombs(sChar, wChar, MAX_PATH);
这样是运行不过不去的,总是返回-1。
后来经人提醒,需要在调用wcstombs之前要先设置代码页:
char sChar[MAX_PATH];
const WCHAR wChar[] = L"我的朋友";
// 设置代码页为默认代码页
_tsetlocale(LC_ALL,_T(""));
// 把wChar这个Unicode字符串转换成ANSI字符串,保存到sChar,并且返回ANSI的字符串大小,如果失败,则返回-1
wcstombs(sChar, wChar, MAX_PATH);
这样就可以了!不用调用烦人的WideCharToMultiByte!多好啊!
相反的函数:mbstowcs,可以从ANSI转换到Unicode。