基本介绍
Unicode Version 13.0于2020年三月10号发布,包含Emoji13.0,新增加了117个emoji符号。
unicode版本 unicode介绍表 unicode字符表
编码范围
000000-10FFFFFF
范围0000-007F
- C0 Controls 0000-001F和007F 共33个
- Basic Latin 0020-007E 共95个
ASCII码表
dec | oct | hex | ch - 转义 | dec | oct | hex | ch | dec | oct | hex | ch | dec | oct | hex | ch | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 00 | NUL (空) | 32 | 40 | 20 | (空格) | 64 | 100 | 40 | @ | 96 | 140 | 60 | ` | |||
1 | 1 | 01 | SOH (标题开始) | 33 | 41 | 21 | ! | 65 | 101 | 41 | A | 97 | 141 | 61 | a | |||
2 | 2 | 02 | STX (正文开始) | 34 | 42 | 22 | " | 66 | 102 | 42 | B | 98 | 142 | 62 | b | |||
3 | 3 | 03 | ETX (正文结束) | 35 | 43 | 23 | # | 67 | 103 | 43 | C | 99 | 143 | 63 | c | |||
4 | 4 | 04 | EOT (传送结束) | 36 | 44 | 24 | $ | 68 | 104 | 44 | D | 100 | 144 | 64 | d | |||
5 | 5 | 05 | ENQ (询问) | 37 | 45 | 25 | % | 69 | 105 | 45 | E | 101 | 145 | 65 | e | |||
6 | 6 | 06 | ACK (确认) | 38 | 46 | 26 | & | 70 | 106 | 46 | F | 102 | 146 | 66 | f | |||
7 | 7 | 07 | BEL (响铃) | 39 | 47 | 27 | ' | 71 | 107 | 47 | G | 103 | 147 | 67 | g | |||
8 | 10 | 08 | BS (退格) \b | 40 | 50 | 28 | ( | 72 | 110 | 48 | H | 104 | 150 | 68 | h | |||
9 | 11 | 09 | HT (横向制表) \t | 41 | 51 | 29 | ) | 73 | 111 | 49 | I | 105 | 151 | 69 | i | |||
10 | 12 | 0a | LF (换行) \n | 42 | 52 | 2a | * | 74 | 112 | 4a | J | 106 | 152 | 6a | j | |||
11 | 13 | 0b | VT (纵向制表) \v | 43 | 53 | 2b | + | 75 | 113 | 4b | K | 107 | 153 | 6b | k | |||
12 | 14 | 0c | FF (换页) \f | 44 | 54 | 2c | , | 76 | 114 | 4c | L | 108 | 154 | 6c | l | |||
13 | 15 | 0d | CR (回车) \r | 45 | 55 | 2d | - | 77 | 115 | 4d | M | 109 | 155 | 6d | m | |||
14 | 16 | 0e | SO (移出) | 46 | 56 | 2e | . | 78 | 116 | 4e | N | 110 | 156 | 6e | n | |||
15 | 17 | 0f | SI (移入) | 47 | 57 | 2f | / | 79 | 117 | 4f | O | 111 | 157 | 6f | o | |||
16 | 20 | 10 | DLE (退出数据链) | 48 | 60 | 30 | 0 | 80 | 120 | 50 | P | 112 | 160 | 70 | p | |||
17 | 21 | 11 | DC1 (设备控制1) | 49 | 61 | 31 | 1 | 81 | 121 | 51 | Q | 113 | 161 | 71 | q | |||
18 | 22 | 12 | DC2 (设备控制2) | 50 | 62 | 32 | 2 | 82 | 122 | 52 | R | 114 | 162 | 72 | r | |||
19 | 23 | 13 | DC3 (设备控制3) | 51 | 63 | 33 | 3 | 83 | 123 | 53 | S | 115 | 163 | 73 | s | |||
20 | 24 | 14 | DC4 (设备控制4) | 52 | 64 | 34 | 4 | 84 | 124 | 54 | T | 116 | 164 | 74 | t | |||
21 | 25 | 15 | NAK (反确认) | 53 | 65 | 35 | 5 | 85 | 125 | 55 | U | 117 | 165 | 75 | u | |||
22 | 26 | 16 | SYN (同步空闲) | 54 | 66 | 36 | 6 | 86 | 126 | 56 | V | 118 | 166 | 76 | v | |||
23 | 27 | 17 | ETB (传输块结束) | 55 | 67 | 37 | 7 | 87 | 127 | 57 | W | 119 | 167 | 77 | w | |||
24 | 30 | 18 | CAN (取消) | 56 | 70 | 38 | 8 | 88 | 130 | 58 | X | 120 | 170 | 78 | x | |||
25 | 31 | 19 | EM (媒介结束) | 57 | 71 | 39 | 9 | 89 | 131 | 59 | Y | 121 | 171 | 79 | y | |||
26 | 32 | 1a | SUB (替换) | 58 | 72 | 3a | : | 90 | 132 | 5a | Z | 122 | 172 | 7a | z | |||
27 | 33 | 1b | ESC (退出) | 59 | 73 | 3b | ; | 91 | 133 | 5b | [ | 123 | 173 | 7b | { | |||
28 | 34 | 1c | FS (文件分隔符) | 60 | 74 | 3c | < | 92 | 134 | 5c | \ | 124 | 174 | 7c | | | |||
29 | 35 | 1d | GS (组分隔符) | 61 | 75 | 3d | = | 93 | 135 | 5d | ] | 125 | 175 | 7d | } | |||
30 | 36 | 1e | RS (记录分隔符) | 62 | 76 | 3e | > | 94 | 136 | 5e | ^ | 126 | 176 | 7e | ~ | |||
31 | 37 | 1f | US (单元分隔符) | 63 | 77 | 3f | ? | 95 | 137 | 5f | _ | 127 | 177 | 7f | DEL (删除) |
范围0080-00FF
- C1 Controls 0080-009F 共32个
- Latin-1 Supplement 00A0-00FF 共96个
范围0600-06FF
阿拉伯文(arabic)[中东]
- Arabic-Indic digits(0-9) 0x0660-0x0669
...
范围3000-30FF
- 3000-303F 中日韩符号和标点 (CJK Symbols and Punctuation)
- 3040-309F 日文平假名 (Hiragana)
- 30A0-30FF 日文片假名 (Katakana)
范围D000-DFFF
Low-half zone of UTF-16,
utf16代理区
范围E000-F8FF
- Private Use Area
范围F900-F9FF
- F900-FAFF 中日韩兼容表意文字 (CJK Compatibility Ideographs)
范围FE00-FEFF
- FE00-FE0F 变体选择符 (Variation Selector);
- FE10-FE1F 竖排形式 (Vertical Forms);
- FE20-FE2F 组合用半符号 (Combining Half Marks) [欧洲];
- FE30-FE4F 中日韩兼容形式 (CJK Compatibility Forms);
- FE50-FE6F 小型变体形式 (Small Form Variants);
- FE70-FEFF 阿拉伯文变形显现形式-B (Arabic Presentation Form-B) [中东]
范围FF00-FFFF
- FF00-FF5E 全角拉丁文 (Fullwidth Latin Letters) [欧洲]
- FF65-FF9F 日文半角片假名 (Halfwidth Katakana)
- FFA0-FFDC 朝鲜文半角字母 (Halfwidth Jamo)
- FFF0-FFFF 特殊 (Specials)
范围1F000-1F0FF
- 1F000-1F02F 麻将牌 (Mahjong Tiles)
- 1F030-1F09F 多米诺骨牌 (Domino Tiles)
- 1F0A0-1F0FF 扑克牌 (Playing Cards)
- 1F100-1F1FF 封闭式字母数字补充 (Enclosed Alphanumeric Supplement)
- 1F200-1F2FF 封闭式象形字补充 (Enclosed Ideographic Supplement)
- 1F300-1F5FF 杂项符号和象形文字 (Miscellaneous Symbols And Pictographs)
- 1F600-1F64F 表情符号 (Emoticons)
- 1F650-1F67F 装饰符号 (Ornamental Dingbats)
- 1F680-1F6FF 运输和地图符号 (Transport and Map Symbols)
- 1F700-1F77F 化学符号 (Alchemical Symbols)
- 1F780-1F7FF 几何图形扩展 (Geometric Shapes Extended)
- 1F800-1F8FF 补充箭头-C (Supplemental Arrows-C)
- 1F900-1F9FF 补充符号和象形文字 (Supplemental Symbols and Pictographs)
- 1FA00-1FFFF 未定义
字体文件
- windows:Segoe UI Emoji 常规 seguiemj.ttf
- linux:
- mac:Apple Color Emoji.ttc
- android:
字符集
汉字字符集
收录在xxxx-xxxx范围
arabic
- arabic 0x0600-0x06FF
- arabic supplement 0x0750-0x077F
- arabic extended-A 0x08A0-0x08FF
- arabic presentation forms-A 0xFB50-0xFDFF
- arabic presentation forms-B 0xFE70-0xFEFF
emoji字符集
收录在1F000-1F6FF和2600-27FF范围,所有emoji字符
编码转换
unicode to utf8
1 | 0000 0000 - 0000 007F | 0xxxxxxx |
2 | 0000 0080 - 0000 07FF | 110xxxxx 10xxxxxx |
3 | 0000 0800 - 0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
4 | 0001 0000 - 0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
5 | 0020 0000 - 03FF FFFF | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
6 | 0400 0000 - 7FFF FFFF | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
unicode to utf16
unicode 0x000000-0x00ffff范围,直接对等
unicode 0x000000-0x10ffff范围,代理对(surrogate pair)
Ø 码位减去0x10000, 得到的值的范围为20比特长的0..0xFFFFF(因为Unicode的最大码位是0x10ffff,减去0x10000后,得到的最大值是0xfffff,所以肯定可以用20个二进制位表示),写成二进制形式:yyyy yyyy yyxx xxxx xxxx。
Ø 高位的10比特的值(值的范围为0..0x3FF)被加上0xD800得到第一个码元或称作高位代理(high surrogate), 值的范围是0xD800..0xDBFF。由于高位代理比低位代理的值要小,所以为了避免混淆使用,Unicode标准现在称高位代理为前导代理(lead surrogates)。
Ø 低位的10比特的值(值的范围也是0..0x3FF)被加上0xDC00得到第二个码元或称作低位代理(low surrogate), 现在值的范围是0xDC00..0xDFFF。 由于低位代理比高位代理的值要大,所以为了避免混淆使用,Unicode标准现在称低位代理为后尾代理(trail surrogates)。
Ø 最终的UTF-16(4字节)的编码(二进制)就是:110110yyyyyyyyyy 110111xxxxxxxxxx。
测试
日文
shikaru:
叱る - 0x53f1,0x308b
叱る - 0x20b9f,0x308b
系统
windows - 记事本
- ANSI - 按照系统编码字符集保存
- Unicode - 按照unicode16小端,以0xff,0xfe开头,0xfffe31003200
- Unicode big endian - 按照unicode16大端,以0xfe,0xff开头,0xfeff00320032
- UTF-8 - 不带BOM,0x3132
字体
script
kerning 两个字符位置advance调整
marktobase mark字符相对base位置调整