ASCII, LATIN1, UTF8 简介

 ASCII, LATIN1, UTF8 简介


ASCII-American Standard Code for Information Interchange

·        Character repertoire:
ASCII 严格来讲就是7个bit大小的字符集,也就是codepoint介于0-127之间的字符集合。

·        Character code:
32-126之间的字元是可打印字元,其他是控制字元。

·        Character encoding:
ASCII可以没有任何编码就可以在计算机中用一个字节表示,也就是每个code point被表示成等价的单字节二进制形式。

LATIN1-8bitsing byte coded graphic character sets.

·        Character repertoire:
AkaISO-8859-1。是7bitASCII 字元集的扩充的一种,是8个bit大小的字符集,也就是code point 介于0-255之间的字符集和。

·        Character code:
包含有191个可打印字符,其余是控制字符或者扩展的欧洲特殊字符。

·        Character encoding:
与ASCII相似, 每个codepoint被表示成等价的单字节二进制形式。

UTF8-8bitUnicode Transfer Format

·        Character repertoire:
包含世界上大部分书写系统的使用的字符,大概1百万个code point (1,114,112 = 220 + 216)。

·        Character code:

2,684个保留字符。 98893个图形字符。435个控制,格式化等特殊用途的字符。

·        Character encoding:
是针对Unicode的一种变长的字符编码。能表示Unicode标准中任意一个字符。 UTF8可以将一个字符编码乘1到4个字节大小来表示。

1. 128US-ASCII 字符需要一个字节(U+0000-U+007F)

2. 对于带有区分符号的Latin字母和来自西欧的字符需要两个字节(U+0080-U+7FF)

3. BMP其他的字符需要3个字节

4. Non-BMP的其他字符需要4个字节。

ASCII,LATIN1, UTF8 关系:

    为了向后兼容, Unicode分配128ASCII和256 LATIN1字符的code point没有改变,与它们在ASCII和Latin1的code point 相同。 因此一个只包含ASCII字符的UTF8文件等同于ASCII文件。同理,每个正确编码的ASCII文件也是有效地UTF8文件。对于12-256的LATIN1字符,因为其编码的特殊性-UTF8需要2个字节来表示一个LATIN1字符,也就是二者编码的文件当然不能等价。

     如果只考虑各个编码单字节的外围:ASCII(0-127), LATIN1(0-255), UTF8(0-253), 一个UTF8编码的字符串也能被保存为LATIN1文件,但显然是乱码的。反过来,LATIN1编码的文件是无法存为一个UTF8的文件,因为一个大于253的字符在UTF8中是不存在的。

注释:

Unicode(或叫Unicode规范标准),是一种编码方案,其中的每一个值代表一个字符的编码值,编码方案可分为固定2字节、4字节的编码方案等,但是一种编码方案里的所有被表示的字符的编码值的长度都是一样的。

而像utf8等则是Unicode规范的一种实现方法,也叫字符编码的存储方案。一种存储方案里的字符的长度是可以不一样,可变的。

Unicode规范是一个总纲,形式,utf8等是其实现,具体内容。

参考:

latin1 与utf-8的区别 百度

====================================================================

BMP

 

(基本多文种平面)

  编辑
本词条缺少 概述信息栏名片图,补充相关内容使词条更完整,还能快速升级,赶紧来 编辑吧!
ASCII, LATIN1, UTF8 简介_第1张图片 BMP
基本多文种平面BMP(Basic Multilingual Plane),或称第零平面(Plane 0),是 Unicode中的一个编码区段。编码从U+0000至U+FFFF。
Unicode  基本多文种平面的示意图。每个写着数字的格子代表256个码点。右图是 基本多文种平面的示意图。颜色各代表了:
黑 = 拉丁文字及 符号
浅蓝 = Linguistic scripts
蓝 = 其他 欧洲文字
橘 = Middle Eastern and SW Asian scripts
浅橘 =  非洲文字
绿 =  南亚文字
紫 =  东南亚文字
红 =  东亚文字
浅红 = 中日韩汉字
黄 = Aboriginal scripts
紫红 =  符号
深灰 = Diacritics
浅灰 =  UTF-16surrogates and private use
蓝青 = Miscellaneous characters
白 = 未使用
状态
现版本为修订4.10版,2005年9月19日出版。已分配编码区段为:
0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin)
0080-00FF:C1控制符及拉丁文补充-1 (C1 Control and Latin 1 Supplement)
0100-017F:拉丁文扩展-A (Latin Extended-A)
0180-024F:拉丁文扩展-B (Latin Extended-B)
0250-02AF: 国际音标扩展 (IPA Extensions)
02B0-02FF:空白修饰字母 (Spacing Modifiers)
0300-036F:结合用读音 符号 (Combining Diacritics Marks)
0370-03FF: 希腊文及 科普特文 ( Greekand  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'Ko)
0800-085F:阿维斯塔语及 巴列维语 ( Avestanand  Pahlavi)
0860-087F:Mandaic
0880-08AF: 撒马利亚语 (Samaritan)
0900-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:哈 努诺文(Hanunóo)
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:高棉语记号 (Kmer Symbols)
1A00-1A1F:布吉文(Buginese)
1A20-1A5F: 巴塔克文(Batak)
1A80-1AEF:兰纳文(Lanna)
1B00-1B7F: 巴厘语 (Balinese)
1B80-1BB0:巽他语 (Sundanese)
1BC0-1BFF:杨松录苗文(Pahawh Hmong)
1C00-1C4F: 雷布查语(Lepcha)
1C50-1C7F:Ol Chiki
1C80-1CDF: 曼尼普尔语(Meithei/Manipuri)
1D00-1D7F:语音学扩展 (Phonetic Extensions)
1D80-1DBF:语音学扩展补充 (Phonetic Extensions Supplement)
1DC0-1DFF:结合用读音 符号补充 (Combining Diacritics 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 Diacritics Marks for Symbols)
2100-214F:字母式 符号 (Letterlike Symbols)
2150-218F:数字形式 (Number Form)
2190-21FF: 箭头 (Arrows)
2200-22FF:数学运算符 (Mathematical Operator)
2300-23FF:杂项工业 符号 (Miscellaneous Technical)
2400-243F:控制图片 (Control Pictures)
2440-245F:光学识别符 (Optical Character Recognition)
2460-24FF:封闭式字母数字 (Enclosed Alphanumerics)
2500-257F: 制表符 (Box Drawing)
2580-259F:方块元素 (Block Element)
25A0-25FF:几何图形 (Geometric Shapes)
2600-26FF:杂项 符号 (Miscellaneous Symbols)
2700-27BF:印刷 符号 (Dingbats)
27C0-27EF:杂项数学 符号-A (Miscellaneous Mathematical Symbols-A)
27F0-27FF:追加箭头-A (Supplemental Arrows-A)
2800-28FF:盲文点字模型 (Braille Patterns)
2900-297F:追加箭头-B (Supplemental Arrows-B)
2980-29FF:杂项数学 符号-B (Miscellaneous Mathematical Symbols-B)
2A00-2AFF:追加数学运算符 (Supplemental Mathematical Operator)
2B00-2BFF:杂项 符号和箭头 (Miscellaneous Symbols and Arrows)
2C00-2C5F: 格拉哥里字母(Glagolitic)
2C60-2C7F:拉丁文扩展-C (Latin Extended-C)
2C80-2CFF: 古埃及语 (Coptic)
2D00-2D2F: 格鲁吉亚语补充 (Georgian Supplement)
2D30-2D7F:提非纳文 (Tifinagh)
2D80-2DDF: 埃塞俄比亚语扩展 (Ethiopic Extended)
2E00-2E7F:追加标点 (Supplemental Punctuation)
2E80-2EFF:CJK 部首补充 (CJK Radicals Supplement)
2F00-2FDF:康熙字典部首 (Kangxi Radicals)
2FF0-2FFF:表意文字描述符 (Ideographic Description Characters)
3000-303F:CJK  符号和标点 (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 笔画 (CJK Strokes)
31F0-31FF:日文片假名语音扩展 (Katakana Phonetic Extensions)
3200-32FF:封闭式 CJK 文字和月份 (Enclosed CJK Letters and Months)
3300-33FF:CJK 兼容 (CJK Compatibility)
3400-4DBF:CJK 统一表意 符号扩展 A (CJK Unified Ideographs Extension A)
4DC0-4DFF: 易经六十四卦 符号 (Yijing Hexagrams Symbols)
4E00-9FBF:CJK 统一表意 符号 (CJK Unified Ideographs)
A000-A48F:彝文音节 (Yi Syllables)
A490-A4CF:彝文字根 (Yi Radicals)
A500-A59F:瓦伊语(Vai)
A640-A69F:统一 加拿大土著语音节补充 (Unified Canadian Aboriginal Syllabics Supplement)
A700-A71F:声调修饰字母 (Modifier Tone Letters)
A720-A7FF:拉丁文扩展-D (Latin Extended-D)
A800-A82F:Syloti Nagri
A840-A87F:八思巴字(Phags-pa)
A880-A8DF:Saurashtra
A900-A92F:Kayah Li
A930-A95F:勒姜语(Rejang)
AA00-AA5F:鞑靼文(Cham)
AC00-D7AF:朝鲜文音节 (Hangul Syllables)
D800-DB7F:高位替代(High Surrogates)
DB80-DBFF:高位专用替代(High Private Use Surrogates)
DC00-DFFF:低位替代(Low Surrogates)
E000-F8FF:自行使用区域 (Private Use Zone)
F900-FAFF:CJK 兼容象形文字 (CJK Compatibility Ideographs)
FB00-FB4F:字母表达形式 (Alphabetic Presentation Form)
FB50-FDFF: 阿拉伯表达形式A ( Arabic Presentation Form-A)
FE00-FE0F:变量选择符 (Variation Selector)
FE10-FE1F:竖排形式 (Vertical Forms)
FE20-FE2F:组合用半 符号 (Combining Half Marks)
FE30-FE4F:CJK 兼容形式 (CJK Compatibility Forms)
FE50-FE6F:小型变体形式 (Small Form Variants)
FE70-FEFF: 阿拉伯表达形式B ( Arabic Presentation Form-B)
FF00-FFEF:半型及全型形式 (Halfwidth and Fullwidth Form)
FFF0-FFFF:特殊 (Specials)
附图说明:Unicode 基本多文种平面的示意图。每个写着数字的格子代表256个码点。

你可能感兴趣的:(C++开发,oracle字符集问题)