ASCII码对照表【2024年汇总】
创始人
2025-01-11 15:34:19
0

🍺ASCII相关文章汇总如下🍺:

  • 🎈ASCII码对照表(255个ascii字符汇总)🎈
  • 🎈ASCII码对照表(Unicode 字符集列表)🎈
  • 🎈ASCII码对照表(emoji表情符号)🎈
  • 🎈ASCII码对照表(Python代码实现打印)🎈
  • 🎈ASCII码对照表(C++17 实现ANSI、UTF8、Unicode编码互转)🎈
  • 🎈ASCII码对照表(HTML颜色代码表)🎈
  • 🎈ASCII码对照表(Matplotlib颜色对照表)🎈
  • 🎈ASCII码对照表【2024年汇总】🎈

文章目录

  • 1、简介
  • 2、表格形式
  • 3、图片形式
  • 4、常用转义字符
  • 5、ASCII、Unicode 和 UTF-8 之间的关系
    • 5.1 ASCII 编码
    • 5.2 非 ASCII 编码
    • 5.3 Unicode
    • 5.4 UTF-8
    • 5.5 Little endian 和 Big endian
  • 结语

1、简介

ASCII(发音:,American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语,而其扩展版本延伸美国标准信息交换码则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。

ASCII 由电报码发展而来。第一版标准发布于1963年 ,1967年经历了一次主要修订[5][6],最后一次更新则是在1986年,至今为止共定义了128个字符;其中33个字符无法显示(一些终端提供了扩展,使得这些字符可显示为诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符。控制字符的用途主要是用来操控已经处理过的文字。在33个字符之外的是95个可显示的字符。用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。

  • 1、ASCII码 是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646 。在这个页面,你可以找到8位的256个字符、ASCII码表和Windows-1252 (code page 1252,它是国际标准ISO 8859-1的一个扩展字符集) 标准保持一致;
  • 2、ASCII码 是 American Standard Code for Information Interchange 的缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解;
  • 3、ASCII码 规范于1967年第一次发布,最后一次更新是在1986年,它包含了33个控制字符(具有某些特殊功能但是无法显示的字符)和95个可显示字符;

ASCII ,它的全称是"美国信息交换标准代码"。它设计于60年代早期,是计算机和诸如打印机、磁带驱动器之类的硬件设备的标准字符集。
ASCII 是 7 比特字符集,包含了 128 个不同的字符值。
ASCII 支持 0-9 的数字,A-Z大写和小写英文字母,以及一些特殊字符。
被广泛使用于现代计算机、HTML和因特网上的字符集都是基于 ASCII 。

ASCII英文全称:American Standard Code for Information Interchange,即:美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,1986年定义了常用的128个字符。
ASCII码对照表中文发音为阿斯克码表,标准ASCII码表通常作为各种符号的16进制对照表使用,但通常讲的ASCII码其实是指ASCII码的十进制值。比如:字母a的ascii码值为97,空格的ascii码值为32。

这里汇集了最完整的ASCII码对照表,包含32个字符的ASCII控制字符对照表(即非打印字符对照表)、96个字符的ASCII打印字符对照表、128个字符的ASCII扩展字符对照表。覆盖了常用的128个字符和128个扩展字符。常用的128个字符,对应ASCII十六进制编码范围为0x00-0x7F,即十进制的0-127,包含32个非打印控制字符和96个打印字符,打印字符包括可显示字符(数字、字母、符号)和空格及删除命令。

2、表格形式

0~31 之间的ASCII码常用于控制像打印机一样的外围设备。

十进制
DEC
八进制
OCT
十六进制
HEX
二进制
BIN
符号
Symbol
HTML
实体编码
中文解释
Description
英文解释
Description
00000000000000NUL空字符 终止符Null char
10010100000001SOH标题开始Start of Heading
20020200000010STX正文开始Start of Text
30030300000011ETX正文结束End of Text
40040400000100EOT传输结束End of Transmission
50050500000101ENQ询问Enquiry
60060600000110ACK收到通知Acknowledgment
70070700000111BELBell
80100800001000 BS退格Back Space
90110900001001 HT 水平制表符Horizontal Tab
100120A00001010 LF 换行符 \nLine Feed
110130B00001011 VT 垂直制表符Vertical Tab
120140C00001100 FF 换页符Form Feed
130150D00001101 CR 回车符 \rCarriage Return
140160E00001110 SO移出Shift Out / X-On
150170F00001111 SI移入Shift In / X-Off
160201000010000DLE数据链路转义Data Line Escape
170211100010001DC1设备控制 1Device Control 1 (oft. XON)
180221200010010DC2设备控制 2Device Control 2
190231300010011DC3设备控制 3Device Control 3 (oft. XOFF)
200241400010100DC4设备控制 4Device Control 4
210251500010101NAK拒绝接收Negative Acknowledgement
220261600010110SYN同步空闲Synchronous Idle
230271700010111ETB传输块结束End of Transmit Block
240301800011000CAN取消Cancel
250311900011001 EM介质中断End of Medium
260321A00011010SUB替换Substitute
270331B00011011ESC换码符Escape
280341C00011100 FS文件分隔符File Separator
290351D00011101 GS组分隔符Group Separator
300361E00011110 RS记录分离符Record Separator
310371F00011111 US单元分隔符Unit Separator
十进制 32~127 区间一共 127-32+1=96 个ASCII码表示的符号,在我们的键盘上都可以被找到。其中:32表示空格,127表示删除命令。
十进制
DEC
八进制
OCT
十六进制
HEX
二进制
BIN
符号
Symbol
HTML
实体编码
中文解释
Description
英文解释
Description
320402000100000  空格Space
330412100100001!!感叹号Exclamation mark
340422200100010""双引号Double quotes (or speech marks)
350432300100011##井号Number
360442400100100$$美元符Dollar
370452500100101%%百分号Per cent sign
380462600100110&&Ampersand
390472700100111''单引号Single quote
400502800101000((左括号Open parenthesis (or open bracket)
410512900101001))右括号Close parenthesis (or close bracket)
420522A00101010**星号Asterisk
430532B00101011++加号Plus
440542C00101100,,逗号Comma
450552D00101101--连字号或减号Hyphen
460562E00101110..句点或小数点Period, dot or full stop
470572F00101111//斜杠Slash or divide
480603000110000000Zero
490613100110001111One
500623200110010222Two
510633300110011333Three
520643400110100444Four
530653500110101555Five
540663600110110666Six
550673700110111777Seven
560703800111000888Eight
570713900111001999Nine
580723A00111010::冒号Colon
590733B00111011;;分号Semicolon
600743C00111100<<小于Less than (or open angled bracket)
610753D00111101==等号Equals
620763E00111110>>大于Greater than (or close angled bracket)
630773F00111111??问号Question mark
641004001000000@@电子邮件符号At symbol
651014101000001AA大写字母 AUppercase A
661024201000010BB大写字母 BUppercase B
671034301000011CC大写字母 CUppercase C
681044401000100DD大写字母 DUppercase D
691054501000101EE大写字母 EUppercase E
701064601000110FF大写字母 FUppercase F
711074701000111GG大写字母 GUppercase G
721104801001000HH大写字母 HUppercase H
731114901001001II大写字母 IUppercase I
741124A01001010JJ大写字母 JUppercase J
751134B01001011KK大写字母 KUppercase K
761144C01001100LL大写字母 LUppercase L
771154D01001101MM大写字母 MUppercase M
781164E01001110NN大写字母 NUppercase N
791174F01001111OO大写字母 OUppercase O
801205001010000PP大写字母 PUppercase P
811215101010001QQ大写字母 QUppercase Q
821225201010010RR大写字母 RUppercase R
831235301010011SS大写字母 SUppercase S
841245401010100TT大写字母 TUppercase T
851255501010101UU大写字母 UUppercase U
861265601010110VV大写字母 VUppercase V
871275701010111WW大写字母 WUppercase W
881305801011000XX大写字母 XUppercase X
891315901011001YY大写字母 YUppercase Y
901325A01011010ZZ大写字母 ZUppercase Z
911335B01011011[[左中括号Opening bracket
921345C01011100\\反斜杠Backslash
931355D01011101]]右中括号Closing bracket
941365E01011110^^音调符号Caret - circumflex
951375F01011111__下划线Underscore
961406001100000``重音符Grave accent
971416101100001aa小写字母 aLowercase a
981426201100010bb小写字母 bLowercase b
991436301100011cc小写字母 cLowercase c
1001446401100100dd小写字母 dLowercase d
1011456501100101ee小写字母 eLowercase e
1021466601100110ff小写字母 fLowercase f
1031476701100111gg小写字母 gLowercase g
1041506801101000hh小写字母 hLowercase h
1051516901101001ii小写字母 iLowercase i
1061526A01101010jj小写字母 jLowercase j
1071536B01101011kk小写字母 kLowercase k
1081546C01101100ll小写字母 lLowercase l
1091556D01101101mm小写字母 mLowercase m
1101566E01101110nn小写字母 nLowercase n
1111576F01101111oo小写字母 oLowercase o
1121607001110000pp小写字母 pLowercase p
1131617101110001qq小写字母 qLowercase q
1141627201110010rr小写字母 rLowercase r
1151637301110011ss小写字母 sLowercase s
1161647401110100tt小写字母 tLowercase t
1171657501110101uu小写字母 uLowercase u
1181667601110110vv小写字母 vLowercase v
1191677701110111ww小写字母 wLowercase w
1201707801111000xx小写字母 xLowercase x
1211717901111001yy小写字母 yLowercase y
1221727A01111010zz小写字母 zLowercase z
1231737B01111011{{左大括号Opening brace
1241747C01111100||垂直线Vertical bar
1251757D01111101}}右大括号Closing brace
1261767E01111110~~波浪号Equivalency sign - tilde
1271777F01111111删除Delete
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
十进制
DEC
八进制
OCT
十六进制
HEX
二进制
BIN
符号
Symbol
HTML
实体编码
中文解释
Description
英文解释
Description
1282008010000000欧盟符号Euro sign
1292018110000001   
1302028210000010单低 9 引号Single low-9 quotation mark
1312038310000011ƒƒ带钩的
拉丁小写字母f
Latin small letter f with hook
1322048410000100双低 9 引号Double low-9 quotation mark
1332058510000101水平省略号Horizontal ellipsis
1342068610000110剑号Dagger
1352078710000111双剑号Double dagger
1362108810001000ˆˆ修正字符
抑扬音符号
Modifier letter circumflex accent
1372118910001001千分号Per mille sign
1382128A10001010ŠŠ带弯音号的
拉丁大写字母 S
Latin capital letter S with caron
1392138B10001011左单书名号Single left-pointing angle quotation
1402148C10001100ŒŒ拉丁大写组合 OELatin capital ligature OE
1412158D10001101   
1422168E10001110ŽŽ带弯音号的
拉丁大写字母 z
Latin capital letter Z with caron
1432178F10001111   
1442209010010000   
1452219110010001左单引号Left single quotation mark
1462229210010010右单引号Right single quotation mark
1472239310010011左双引号Left double quotation mark
1482249410010100右双引号Right double quotation mark
1492259510010101 Bullet
1502269610010110半长破折号En dash
1512279710010111全长破折号Em dash
1522309810011000˜˜小波浪线Small tilde
1532319910011001 Trade mark sign
1542329A10011010šš带弯音号的
拉丁小写字母 s
Latin small letter s with caron
1552339B10011011右单书名号Single right-pointing
angle quotation mark
1562349C10011100œœ拉丁小写组合 oeLatin small ligature oe
1572359D10011101   
1582369E10011110žž带弯音号的
拉丁小写字母 z
Latin small letter z with caron
1592379F10011111ŸŸ带弯音号的
拉丁大写字母 Y
Latin capital letter Y with diaeresis
160240A010100000   Non-breaking space
161241A110100001¡¡反向感叹号Inverted exclamation mark
162242A210100010¢¢分币符号Cent sign
163243A310100011££英磅符号Pound sign
164244A410100100¤¤ Currency sign
165245A510100101¥¥人民币符号Yen sign
166246A610100110¦¦ Pipe, Broken vertical bar
167247A710100111§§章节符号Section sign
168250A810101000¨¨通用货币符号Spacing diaeresis - umlaut
169251A910101001©©版权符号Copyright sign
170252AA10101010ªª阴性顺序
指示符号
Feminine ordinal indicator
171253AB10101011««左角引号Left double angle quotes
172254AC10101100¬¬ Not sign
173255AD10101101­­ Soft hyphen
174256AE10101110®® Registered trade mark sign
175257AF10101111¯¯ Spacing macron - overline
176260B010110000°°温度符号Degree sign
177261B110110001±±加/减号Plus-or-minus sign
178262B210110010²²上标 2Superscript two - squared
179263B310110011³³上标 3Superscript three - cubed
180264B410110100´´ Acute accent - spacing acute
181265B510110101µµ微符号Micro sign
182266B610110110段落符号,
pilcrow
Pilcrow sign - paragraph sign
183267B710110111··中点Middle dot - Georgian comma
184270B810111000¸¸ Spacing cedilla
185271B910111001¹¹上标 1Superscript one
186272BA10111010ºº阳性顺序
指示符
Masculine ordinal indicator
187273BB10111011»»右角引号Right double angle quotes
188274BC10111100¼¼分数四分之一Fraction one quarter
189275BD10111101½½分数二分之一Fraction one half
190276BE10111110¾¾ Fraction three quarters
191277BF10111111¿¿反向问号Inverted question mark
192300C011000000ÀÀ带重音符
的大写字母 A
Latin capital letter A with grave
193301C111000001ÁÁ带尖锐重音
的大写字母 A
Latin capital letter A with acute
194302C211000010ÂÂ带音调符号
的大写字母 A
Latin capital letter A with circumflex
195303C311000011ÃÃ带代字号
的大写字母 A
Latin capital letter A with tilde
196304C411000100ÄÄ带元音变音
(分音符号)
的大写字母 A
Latin capital letter A with diaeresis
197305C511000101ÅÅ带铃声
的大写字母 A
Latin capital letter A with ring above
198306C611000110ÆÆ大写字母 AE
双重元音
Latin capital letter AE
199307C711000111ÇÇ带变音符号
的大写字母 C
Latin capital letter C with cedilla
200310C811001000ÈÈ带重音符
的大写字母 E
Latin capital letter E with grave
201311C911001001ÉÉ带尖锐重音
的大写字母 E
Latin capital letter E with acute
202312CA11001010ÊÊ带音调符号
的大写字母 E
Latin capital letter E with circumflex
203313CB11001011ËË带元音变音
(分音符号)
的大写字母 E
Latin capital letter E with diaeresis
204314CC11001100ÌÌ带重音符
的大写字母 I
Latin capital letter I with grave
205315CD11001101ÍÍ带尖锐重音
的大写字母 I
Latin capital letter I with acute
206316CE11001110ÎÎ带音调符号
的大写字母 I
Latin capital letter I with circumflex
207317CF11001111ÏÏ带元音变音
(分音符号)
的大写字母 I
Latin capital letter I with diaeresis
208320D011010000ÐРLatin capital letter ETH
209321D111010001ÑÑ带代字号
的大写字母 N
Latin capital letter N with tilde
210322D211010010ÒÒ带重音符
的大写字母 O
Latin capital letter O with grave
211323D311010011ÓÓ带尖锐重音
的大写字母 O
Latin capital letter O with acute
212324D411010100ÔÔ带音调符号
的大写字母 O
Latin capital letter O with circumflex
213325D511010101ÕÕ带代字号
的大写字母 O
Latin capital letter O with tilde
214326D611010110ÖÖ带元音变音
(分音符号)
的大写字母 O
Latin capital letter O with diaeresis
215327D711010111××大写字母
OE 连字
Multiplication sign
216330D811011000ØØ带斜杠
的大写字母 O
Latin capital letter O with slash
217331D911011001ÙÙ带重音符
的大写字母 U
Latin capital letter U with grave
218332DA11011010ÚÚ带尖锐重音
的大写字母 U
Latin capital letter U with acute
219333DB11011011ÛÛ带音调符号
的大写字母 U
Latin capital letter U with circumflex
220334DC11011100ÜÜ带元音变音
(分音符号)
的大写字母 U
Latin capital letter U with diaeresis
221335DD11011101ÝÝ带元音变音
(分音符号)
的大写字母 Y
Latin capital letter Y with acute
222336DE11011110ÞÞ Latin capital letter THORN
223337DF11011111ßß德语高调
小写字母 s
Latin small letter sharp s - ess-zed
224340E011100000àà带重音符
的小写字母 a
Latin small letter a with grave
225341E111100001áá带尖锐重音
的小写字母 a
Latin small letter a with acute
226342E211100010ââ带音调符号
的小写字母 a
Latin small letter a with circumflex
227343E311100011ãã带代字号
的小写字母 a
Latin small letter a with tilde
228344E411100100ää带元音变音
(分音符号)
的小写字母 a
Latin small letter a with diaeresis
229345E511100101åå带铃声的
小写字母 a
Latin small letter a with ring above
230346E611100110ææ小写字母 ae
双重元音
Latin small letter ae
231347E711100111çç带变音符号
的小写字母 c
Latin small letter c with cedilla
232350E811101000èè带重音符
的小写字母 e
Latin small letter e with grave
233351E911101001éé带尖锐重音
的小写字母 e
Latin small letter e with acute
234352EA11101010êê带音调符号
的小写字母 e
Latin small letter e with circumflex
235353EB11101011ëë带元音变音
(分音符号)
的小写字母 e
Latin small letter e with diaeresis
236354EC11101100ìì带重音符
的小写字母 i
Latin small letter i with grave
237355ED11101101íí带尖锐重音
的小写字母 i
Latin small letter i with acute
238356EE11101110îî带音调符号
的小写字母 i
Latin small letter i with circumflex
239357EF11101111ïï带元音变音
(分音符号)
的小写字母 i
Latin small letter i with diaeresis
240360F011110000ðð Latin small letter eth
241361F111110001ññ带代字号
的小写字母 n
Latin small letter n with tilde
242362F211110010òò带重音符
的小写字母 o
Latin small letter o with grave
243363F311110011óó带尖锐重音
的小写字母 o
Latin small letter o with acute
244364F411110100ôô带音调符号
的小写字母 o
Latin small letter o with circumflex
245365F511110101õõ带代字号
的小写字母 o
Latin small letter o with tilde
246366F611110110öö带元音变音
(分音符号)
的小写字母 o
Latin small letter o with diaeresis
247367F711110111÷÷小写字母 oe
连字
Division sign
248370F811111000øø带斜杠
的小写字母 o
Latin small letter o with slash
249371F911111001ùù带重音符
的小写字母 u
Latin small letter u with grave
250372FA11111010úú带尖锐重音
的小写字母 u
Latin small letter u with acute
251373FB11111011ûû带音调符号
的小写字母 u
Latin small letter u with circumflex
252374FC11111100üü带元音变音
(分音符号)
的小写字母 u
Latin small letter u with diaeresis
253375FD11111101ýý带元音变音
(分音符号)
的小写字母 y2
Latin small letter y with acute
254376FE11111110þþ Latin small letter thorn
255377FF11111111ÿÿ Latin small letter y with diaeresis

3、图片形式

  • 可显示字符
    可显示字符编号范围是32-126(0x20-0x7E),共95个字符。
    在这里插入图片描述
  • 控制字符
    ASCII控制字符的编号范围是0-31和127(0x00-0x1F和0x7F),共33个字符。
    在这里插入图片描述
  • 第一部分:ASCII非打印控制字符表
    ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备。
  • 第二部分:ASCII打印字符
    数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。
    在这里插入图片描述
  • 第三部分:扩展ASCII打印字符
    扩展的ASCII字符满足了对更多字符的需求。
    扩展的ASCII包含ASCII中已有的128个字符,又增加了128个字符,总共是256个。
    即使有了这些更多的字符,许多语言还是包含无法压缩到256个字符中的符号。因此,出现了一些ASCII的变体来囊括地区性字符和符号。例如,许多软件程序把ASCII表(又称作ISO8859-1)用于北美、西欧、澳大利亚和非洲的语言。

ASCII码又分为: 标准ASCII码和扩展ASCII码。

  • 标准ASCII码
    标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。

    • 其中0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

    • 32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
      65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
      同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。

  • 扩展ASCII码

    • 扩展ASCII 字符是从128 到255(0x80-0xff)的字符。许多基于x86的系统都支持使用扩展(或“高”)ASCII。它将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。针对扩展的ASCII码,不同的国家有不同的字符集,所以它并不是国际标准。
      在这里插入图片描述
      在这里插入图片描述

4、常用转义字符

转义字符意义ASCII码值(十进制)
\a响铃(BEL)

7

\b退格(BS)

8

\f换页(FF)

12

\n换行(LF)

10

\r回车(CR)

13

\t水平制表(HT)

9

\v垂直制表(VT)

11

\\反斜杠

92

\?问号字符

63

\'单引号字符

39

\"双引号字符

34

\0空字符(NULL)

0

\ddd任意字符三位八进制
\xhh任意字符二位十六进制

5、ASCII、Unicode 和 UTF-8 之间的关系

5.1 ASCII 编码

计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。

上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。

ASCII 码一共规定了128个字符的编码,比如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。

5.2 非 ASCII 编码

英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用 ASCII 码表示。于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号。

5.3 Unicode

可以想象,如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码。

Unicode 当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字严。具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表。

需要注意的是,Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

比如,汉字严的 Unicode 是十六进制数4E25,转换成二进制数足足有15位(100111000100101),也就是说,这个符号的表示至少需要2个字节。表示其他更大的符号,可能需要3个字节或者4个字节,甚至更多。

它们造成的结果是:1)出现了 Unicode 的多种存储方式,也就是说有许多种不同的二进制格式,可以用来表示 Unicode。2)Unicode 在很长一段时间内无法推广,直到互联网的出现。

5.4 UTF-8

互联网的普及,强烈要求出现一种统一的编码方式。UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式。其他实现方式还包括 UTF-16(字符用两个字节或四个字节表示)和 UTF-32(字符用四个字节表示),不过在互联网上基本不用。重复一遍,这里的关系是,UTF-8 是 Unicode 的实现方式之一。

UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8 的编码规则很简单,只有二条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。 2)对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。 

下表总结了编码规则,字母x表示可用编码的位:

Unicode符号范围(十六进制)UTF-8编码方式(二进制)
0000 0000-0000 007F0xxxxxxx
0000 0080-0000 07FF110xxxxx 10xxxxxx
0000 0800-0000 FFFF1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
跟据上表,解读 UTF-8 编码非常简单。如果一个字节的第一位是0,则这个字节单独就是一个字符;如果第一位是1,则连续有多少个1,就表示当前字符占用多少个字节。
1)ANSI是默认的编码方式。对于英文文件是ASCII编码,对于简体中文文件是GB2312编码(只针对 Windows 简体中文版,如果是繁体中文版会采用 Big5 码)。 2)Unicode编码这里指的是notepad.exe使用的 UCS-2 编码方式,即直接用两个字节存入字符的 Unicode 码,这个选项用的 little endian 格式。 3)Unicode big endian编码与上一个选项相对应。我在下一节会解释 little endian 和 big endian 的涵义。 4)UTF-8编码,也就是上一节谈到的编码方法。 

5.5 Little endian 和 Big endian

UCS-2 格式可以存储 Unicode 码(码点不超过0xFFFF)。以汉字严为例,Unicode 码是4E25,需要用两个字节存储,一个字节是4E,另一个字节是25。存储的时候,4E在前,25在后,这就是 Big endian 方式;25在前,4E在后,这是 Little endian 方式。

第一个字节在前,就是"大头方式"(Big endian),第二个字节在前就是"小头方式"(Little endian)。

那么很自然的,就会出现一个问题:计算机怎么知道某一个文件到底采用哪一种方式编码?

Unicode 规范定义,每一个文件的最前面分别加入一个表示编码顺序的字符,这个字符的名字叫做"零宽度非换行空格"(zero width no-break space),用FEFF表示。这正好是两个字节,而且FF比FE大1。

如果一个文本文件的头两个字节是FE FF,就表示该文件采用大头方式;如果头两个字节是FF FE,就表示该文件采用小头方式。

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

相关内容

热门资讯

透视辅助挂!微扑克德州专用辅助... 透视辅助挂!微扑克德州专用辅助器"pokerwoeld安卓下载"一般真的有挂(有挂输赢)-哔哩哔哩;...
透明黑科技!wepoke辅助有... 透明黑科技!wepoke辅助有挂"wpk微扑克外挂事件"的确真的有挂(有挂机器人)-今日头条1、下载...
透明辅助挂!德州之星插件&qu... 透明辅助挂!德州之星插件"wepower线上游戏发牌机制规律"总是真的有挂(有挂识别)-百度贴吧;1...
透视辅助挂!wepok软件透明... 透视辅助挂!wepok软件透明挂"智星德州有挂"本来真的有挂(有挂模拟器)-知乎1、打开软件启动之后...
透明辅助挂!aapoker挂&... 透明辅助挂!aapoker挂"微扑克俱乐部机器人"好像真的有挂(有挂线上)-头条;1、下载好微扑克俱...
透视辅助挂!wepoke辅助&... 透视辅助挂!wepoke辅助"governorofpoker3有辅助"就是真的有挂(有挂技巧)-知乎...
透明辅助挂!wpk提高胜率&q... 透明辅助挂!wpk提高胜率"德州ai人工智能软件免费"就是真的有挂(有挂下载)-百度1、很好的工具软...
黑科技透视!德州之星有外挂&q... 黑科技透视!德州之星有外挂"wepoke辅助机器人"的确是有挂的(有挂苹果版)-知乎1、实时德州之星...
黑科技辅助挂!智星德州菠萝偷偷... 黑科技辅助挂!智星德州菠萝偷偷看牌功能"wpk真的有挂"其实真的有挂(有挂大厅)-今日头条1、wpk...
黑科技辅助!wepoke计算辅... 黑科技辅助!wepoke计算辅助"wepoke辅助透"好像真的有挂(有挂脚本)-小红书黑科技辅助!w...