当前位置: 首页 > news >正文

ASCII码对照表【2024年汇总】

🍺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;&#059;分号Semicolon
600743C00111100<&#060;小于Less than (or open angled bracket)
610753D00111101=&#061;等号Equals
620763E00111110>&#062;大于Greater than (or close angled bracket)
630773F00111111?&#063;问号Question mark
641004001000000@&#064;电子邮件符号At symbol
651014101000001A&#065;大写字母 AUppercase A
661024201000010B&#066;大写字母 BUppercase B
671034301000011C&#067;大写字母 CUppercase C
681044401000100D&#068;大写字母 DUppercase D
691054501000101E&#069;大写字母 EUppercase E
701064601000110F&#070;大写字母 FUppercase F
711074701000111G&#071;大写字母 GUppercase G
721104801001000H&#072;大写字母 HUppercase H
731114901001001I&#073;大写字母 IUppercase I
741124A01001010J&#074;大写字母 JUppercase J
751134B01001011K&#075;大写字母 KUppercase K
761144C01001100L&#076;大写字母 LUppercase L
771154D01001101M&#077;大写字母 MUppercase M
781164E01001110N&#078;大写字母 NUppercase N
791174F01001111O&#079;大写字母 OUppercase O
801205001010000P&#080;大写字母 PUppercase P
811215101010001Q&#081;大写字母 QUppercase Q
821225201010010R&#082;大写字母 RUppercase R
831235301010011S&#083;大写字母 SUppercase S
841245401010100T&#084;大写字母 TUppercase T
851255501010101U&#085;大写字母 UUppercase U
861265601010110V&#086;大写字母 VUppercase V
871275701010111W&#087大写字母 WUppercase W
881305801011000X&#088;大写字母 XUppercase X
891315901011001Y&#089;大写字母 YUppercase Y
901325A01011010Z&#090;大写字母 ZUppercase Z
911335B01011011[&#091;左中括号Opening bracket
921345C01011100\&#092;反斜杠Backslash
931355D01011101]&#093;右中括号Closing bracket
941365E01011110^&#094;音调符号Caret - circumflex
951375F01011111_&#095;下划线Underscore
961406001100000`&#096;重音符Grave accent
971416101100001a&#097;小写字母 aLowercase a
981426201100010b&#098;小写字母 bLowercase b
991436301100011c&#099;小写字母 cLowercase c
1001446401100100d&#100;小写字母 dLowercase d
1011456501100101e&#101;小写字母 eLowercase e
1021466601100110f&#102;小写字母 fLowercase f
1031476701100111g&#103;小写字母 gLowercase g
1041506801101000h&#104;小写字母 hLowercase h
1051516901101001i&#105;小写字母 iLowercase i
1061526A01101010j&#106;小写字母 jLowercase j
1071536B01101011k&#107;小写字母 kLowercase k
1081546C01101100l&#108;小写字母 lLowercase l
1091556D01101101m&#109;小写字母 mLowercase m
1101566E01101110n&#110;小写字母 nLowercase n
1111576F01101111o&#111;小写字母 oLowercase o
1121607001110000p&#112;小写字母 pLowercase p
1131617101110001q&#113;小写字母 qLowercase q
1141627201110010r&#114;小写字母 rLowercase r
1151637301110011s&#115;小写字母 sLowercase s
1161647401110100t&#116;小写字母 tLowercase t
1171657501110101u&#117;小写字母 uLowercase u
1181667601110110v&#118;小写字母 vLowercase v
1191677701110111w&#119;小写字母 wLowercase w
1201707801111000x&#120;小写字母 xLowercase x
1211717901111001y&#121;小写字母 yLowercase y
1221727A01111010z&#122;小写字母 zLowercase z
1231737B01111011{&#123;左大括号Opening brace
1241747C01111100|&#124;垂直线Vertical bar
1251757D01111101}&#125;右大括号Closing brace
1261767E01111110~&#126;波浪号Equivalency sign - tilde
1271777F01111111&#127;删除Delete
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
十进制
DEC
八进制
OCT
十六进制
HEX
二进制
BIN
符号
Symbol
HTML
实体编码
中文解释
Description
英文解释
Description
1282008010000000&#128;欧盟符号Euro sign
1292018110000001   
1302028210000010&#130;单低 9 引号Single low-9 quotation mark
1312038310000011ƒ&#131;带钩的
拉丁小写字母f
Latin small letter f with hook
1322048410000100&#132;双低 9 引号Double low-9 quotation mark
1332058510000101&#133;水平省略号Horizontal ellipsis
1342068610000110&#134;剑号Dagger
1352078710000111&#135;双剑号Double dagger
1362108810001000ˆ&#136;修正字符
抑扬音符号
Modifier letter circumflex accent
1372118910001001&#137;千分号Per mille sign
1382128A10001010Š&#138;带弯音号的
拉丁大写字母 S
Latin capital letter S with caron
1392138B10001011&#139;左单书名号Single left-pointing angle quotation
1402148C10001100Œ&#140;拉丁大写组合 OELatin capital ligature OE
1412158D10001101   
1422168E10001110Ž&#142;带弯音号的
拉丁大写字母 z
Latin capital letter Z with caron
1432178F10001111   
1442209010010000   
1452219110010001&#145;左单引号Left single quotation mark
1462229210010010&#146;右单引号Right single quotation mark
1472239310010011&#147;左双引号Left double quotation mark
1482249410010100&#148;右双引号Right double quotation mark
1492259510010101&#149; Bullet
1502269610010110&#150;半长破折号En dash
1512279710010111&#151;全长破折号Em dash
1522309810011000˜&#152;小波浪线Small tilde
1532319910011001&#153; Trade mark sign
1542329A10011010š&#154;带弯音号的
拉丁小写字母 s
Latin small letter s with caron
1552339B10011011&#155;右单书名号Single right-pointing
angle quotation mark
1562349C10011100œ&#156;拉丁小写组合 oeLatin small ligature oe
1572359D10011101   
1582369E10011110ž&#158;带弯音号的
拉丁小写字母 z
Latin small letter z with caron
1592379F10011111Ÿ&#159;带弯音号的
拉丁大写字母 Y
Latin capital letter Y with diaeresis
160240A010100000 &#160; Non-breaking space
161241A110100001¡&#161;反向感叹号Inverted exclamation mark
162242A210100010¢&#162;分币符号Cent sign
163243A310100011£&#163;英磅符号Pound sign
164244A410100100¤&#164; Currency sign
165245A510100101¥&#165;人民币符号Yen sign
166246A610100110¦&#166; Pipe, Broken vertical bar
167247A710100111§&#167;章节符号Section sign
168250A810101000¨&#168;通用货币符号Spacing diaeresis - umlaut
169251A910101001©&#169;版权符号Copyright sign
170252AA10101010ª&#170;阴性顺序
指示符号
Feminine ordinal indicator
171253AB10101011«&#171;左角引号Left double angle quotes
172254AC10101100¬&#172; Not sign
173255AD10101101­&#173; Soft hyphen
174256AE10101110®&#174; Registered trade mark sign
175257AF10101111¯&#175; Spacing macron - overline
176260B010110000°&#176;温度符号Degree sign
177261B110110001±&#177;加/减号Plus-or-minus sign
178262B210110010²&#178;上标 2Superscript two - squared
179263B310110011³&#179;上标 3Superscript three - cubed
180264B410110100´&#180; Acute accent - spacing acute
181265B510110101µ&#181;微符号Micro sign
182266B610110110&#182;段落符号,
pilcrow
Pilcrow sign - paragraph sign
183267B710110111·&#183;中点Middle dot - Georgian comma
184270B810111000¸&#184; Spacing cedilla
185271B910111001¹&#185;上标 1Superscript one
186272BA10111010º&#186;阳性顺序
指示符
Masculine ordinal indicator
187273BB10111011»&#187;右角引号Right double angle quotes
188274BC10111100¼&#188;分数四分之一Fraction one quarter
189275BD10111101½&#189;分数二分之一Fraction one half
190276BE10111110¾&#190; Fraction three quarters
191277BF10111111¿&#191;反向问号Inverted question mark
192300C011000000À&#192;带重音符
的大写字母 A
Latin capital letter A with grave
193301C111000001Á&#193;带尖锐重音
的大写字母 A
Latin capital letter A with acute
194302C211000010Â&#194;带音调符号
的大写字母 A
Latin capital letter A with circumflex
195303C311000011Ã&#195;带代字号
的大写字母 A
Latin capital letter A with tilde
196304C411000100Ä&#196;带元音变音
(分音符号)
的大写字母 A
Latin capital letter A with diaeresis
197305C511000101Å&#197;带铃声
的大写字母 A
Latin capital letter A with ring above
198306C611000110Æ&#198;大写字母 AE
双重元音
Latin capital letter AE
199307C711000111Ç&#199;带变音符号
的大写字母 C
Latin capital letter C with cedilla
200310C811001000È&#200;带重音符
的大写字母 E
Latin capital letter E with grave
201311C911001001É&#201;带尖锐重音
的大写字母 E
Latin capital letter E with acute
202312CA11001010Ê&#202;带音调符号
的大写字母 E
Latin capital letter E with circumflex
203313CB11001011Ë&#203;带元音变音
(分音符号)
的大写字母 E
Latin capital letter E with diaeresis
204314CC11001100Ì&#204;带重音符
的大写字母 I
Latin capital letter I with grave
205315CD11001101Í&#205;带尖锐重音
的大写字母 I
Latin capital letter I with acute
206316CE11001110Î&#206;带音调符号
的大写字母 I
Latin capital letter I with circumflex
207317CF11001111Ï&#207;带元音变音
(分音符号)
的大写字母 I
Latin capital letter I with diaeresis
208320D011010000Ð&#208; Latin capital letter ETH
209321D111010001Ñ&#209;带代字号
的大写字母 N
Latin capital letter N with tilde
210322D211010010Ò&#210;带重音符
的大写字母 O
Latin capital letter O with grave
211323D311010011Ó&#211;带尖锐重音
的大写字母 O
Latin capital letter O with acute
212324D411010100Ô&#212;带音调符号
的大写字母 O
Latin capital letter O with circumflex
213325D511010101Õ&#213;带代字号
的大写字母 O
Latin capital letter O with tilde
214326D611010110Ö&#214;带元音变音
(分音符号)
的大写字母 O
Latin capital letter O with diaeresis
215327D711010111×&#215;大写字母
OE 连字
Multiplication sign
216330D811011000Ø&#216;带斜杠
的大写字母 O
Latin capital letter O with slash
217331D911011001Ù&#217;带重音符
的大写字母 U
Latin capital letter U with grave
218332DA11011010Ú&#218;带尖锐重音
的大写字母 U
Latin capital letter U with acute
219333DB11011011Û&#219;带音调符号
的大写字母 U
Latin capital letter U with circumflex
220334DC11011100Ü&#220;带元音变音
(分音符号)
的大写字母 U
Latin capital letter U with diaeresis
221335DD11011101Ý&#221;带元音变音
(分音符号)
的大写字母 Y
Latin capital letter Y with acute
222336DE11011110Þ&#222; Latin capital letter THORN
223337DF11011111ß&#223;德语高调
小写字母 s
Latin small letter sharp s - ess-zed
224340E011100000à&#224;带重音符
的小写字母 a
Latin small letter a with grave
225341E111100001á&#225;带尖锐重音
的小写字母 a
Latin small letter a with acute
226342E211100010â&#226;带音调符号
的小写字母 a
Latin small letter a with circumflex
227343E311100011ã&#227;带代字号
的小写字母 a
Latin small letter a with tilde
228344E411100100ä&#228;带元音变音
(分音符号)
的小写字母 a
Latin small letter a with diaeresis
229345E511100101å&#229;带铃声的
小写字母 a
Latin small letter a with ring above
230346E611100110æ&#230;小写字母 ae
双重元音
Latin small letter ae
231347E711100111ç&#231;带变音符号
的小写字母 c
Latin small letter c with cedilla
232350E811101000è&#232;带重音符
的小写字母 e
Latin small letter e with grave
233351E911101001é&#233;带尖锐重音
的小写字母 e
Latin small letter e with acute
234352EA11101010ê&#234;带音调符号
的小写字母 e
Latin small letter e with circumflex
235353EB11101011ë&#235;带元音变音
(分音符号)
的小写字母 e
Latin small letter e with diaeresis
236354EC11101100ì&#236;带重音符
的小写字母 i
Latin small letter i with grave
237355ED11101101í&#237;带尖锐重音
的小写字母 i
Latin small letter i with acute
238356EE11101110î&#238;带音调符号
的小写字母 i
Latin small letter i with circumflex
239357EF11101111ï&#239;带元音变音
(分音符号)
的小写字母 i
Latin small letter i with diaeresis
240360F011110000ð&#240; Latin small letter eth
241361F111110001ñ&#241;带代字号
的小写字母 n
Latin small letter n with tilde
242362F211110010ò&#242;带重音符
的小写字母 o
Latin small letter o with grave
243363F311110011ó&#243;带尖锐重音
的小写字母 o
Latin small letter o with acute
244364F411110100ô&#244;带音调符号
的小写字母 o
Latin small letter o with circumflex
245365F511110101õ&#245;带代字号
的小写字母 o
Latin small letter o with tilde
246366F611110110ö&#246;带元音变音
(分音符号)
的小写字母 o
Latin small letter o with diaeresis
247367F711110111÷&#247;小写字母 oe
连字
Division sign
248370F811111000ø&#248;带斜杠
的小写字母 o
Latin small letter o with slash
249371F911111001ù&#249;带重音符
的小写字母 u
Latin small letter u with grave
250372FA11111010ú&#250;带尖锐重音
的小写字母 u
Latin small letter u with acute
251373FB11111011û&#251;带音调符号
的小写字母 u
Latin small letter u with circumflex
252374FC11111100ü&#252;带元音变音
(分音符号)
的小写字母 u
Latin small letter u with diaeresis
253375FD11111101ý&#253;带元音变音
(分音符号)
的小写字母 y2
Latin small letter y with acute
254376FE11111110þ&#254; Latin small letter thorn
255377FF11111111ÿ&#255; 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???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

相关文章:

ASCII码对照表【2024年汇总】

&#x1f37a;ASCII相关文章汇总如下&#x1f37a;&#xff1a; &#x1f388;ASCII码对照表&#xff08;255个ascii字符汇总&#xff09;&#x1f388;&#x1f388;ASCII码对照表&#xff08;Unicode 字符集列表&#xff09;&#x1f388;&#x1f388;ASCII码对照表&#x…...

刷题之买股票的最佳时机(leetcode)

买股票的最佳时机 动态规划入门题。 最简单的模拟式解法&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {//也可以换一种思路&#xff0c;因为只交易一次&#xff0c;那么找出股票最便宜的时候买入&#xff0c;最贵的时候卖出&#xff…...

Apache Seata透过源码解决SeataAT模式整合Mybatis-Plus失去MP特性的问题

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 Apache Seata透过源码解决SeataAT模式整合Mybatis-Plus失去MP特性的问题 透过源码解决SeataAT…...

1.2 如何让机器说人话?万字长文回顾自然语言处理(NLP)的前世今生 —— 《带你自学大语言模型》系列

本系列目录 《带你自学大语言模型》系列部分目录及计划&#xff0c;完整版目录见&#xff1a;带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型&#xff08;科普向&#xff09; 第一章 走进大语言模型 1.1 从图灵机到GPT&#xff0c;人工智能经历了什么&#xff1…...

【QT】按钮类控件

按钮类控件 按钮类控件1. PushButton2. Radio Button3. Check Box4. Tool Button 按钮类控件 1. PushButton 使⽤ QPushButton 表示⼀个按钮&#xff0c;这也是当前我们最熟悉的⼀个控件了. QPushButton 继承⾃ QAbstractButton . 这个类是⼀个抽象类. 是其他按钮的⽗类. 在…...

RedHat运维-Linux软件包管理基础-RHEL9软件包管理基础

Linux软件包管理基础-RHEL9 1. 对于RHEL9来说&#xff0c;软件包管理基础分为增、删、改、查四个部分。对于增来说&#xff0c;有&#xff1a;增加一个仓库的信息文件、启用一个仓库的信息文件、安装rpm包、解压rpm包、安装软件、安装软件组、更新软件。在这里先讲软件包管理中…...

uniapp----- 判断小程序版本有没有更新

const updateManager uni.getUpdateManager();// 当向小程序后台请求完新版本信息&#xff0c;会进行回调updateManager.onCheckForUpdate(function (res) {console.log(是否有新版本, res.hasUpdate);});// 当新版本下载完成&#xff0c;会进行回调updateManager.onUpdateRea…...

Spring Boot的无缝衔接:深入解析与实践

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ &#x1f680;The begin&#x1f697;点点关注&#xff0c;收藏不迷路&#x1f6a9; 引言 在快速迭代的软件开发环境中&#xff0c;无缝衔接是提升开发效率、降低维护成本、增强系统稳定性的关键。Spring Boo…...

在Linux上查找文件的2个好用的命令

在Linux上查找文件&#xff0c;两个非常好用的命令是find和locate。 find命令 find命令非常强大&#xff0c;可以在指定目录下查找符合条件的文件。你可以根据文件名、文件类型、大小、修改日期等多种条件来查找文件。例如&#xff0c;要在当前目录及其子目录下查找所有扩展名…...

实现WebSocket聊天室功能

实现WebSocket聊天室功能 什么是WebSocket&#xff1f;WebSocket的工作原理服务器端实现客户端实现 在现代Web开发中&#xff0c;实时通信已经变得越来越重要。传统的HTTP协议由于其无状态和单向通信的特点&#xff0c;无法很好地满足实时通信的需求。而WebSocket协议则应运而生…...

qt opencv 应用举例

在Qt中使用OpenCV可以实现各种图像处理和计算机视觉任务。以下是一些Qt与OpenCV联合应用的具体举例&#xff1a; 1. 图像读取与显示 读取图像&#xff1a;使用OpenCV的imread函数可以方便地读取各种格式的图像文件&#xff0c;如.bmp、.jpg、.png等。这个函数返回一个Mat对象…...

QT5.12环境搭建与源码编译

一、概述 QT版本&#xff1a;QT5.12.10 Qt网址&#xff1a;http://download.qt.io/archive/qt/ 编译平台 ubuntu18.04 二、安装交叉编译工具链 1、获取交叉编译工具链 一般如果是编译系统如果有对应的gcc 就是用这个就可以了 比如rk3128 lin…...

Android中android.fg线程和android.ui线程分别代表什么?

Android中android.fg线程和android.ui线程分别代表什么&#xff1f; android.fg线程&#xff08;FgThread&#xff09;&#xff1a; FgThread是Android系统中一个特殊的线程&#xff0c;其类定义大致为public final class FgThread extends ServiceThread。它主要用于提供一个…...

MATLAB 2024b 更新了些什么?

MATLAB 2024b版本已经推出了预览版&#xff0c;本期介绍一些MATLAB部分的主要的更新内容。 帮助浏览器被移除 在此前的版本&#xff0c;当我们从MATLAB中访问帮助文档时&#xff0c;默认会通过MATLAB的帮助浏览器&#xff08;Help browser&#xff09;。 2024b版本开始&…...

SSM高校教师教学质量评估系统-计算机毕业设计源码03344

摘要 在高等教育中&#xff0c;教学质量是培养优秀人才的关键。为了提高教学质量&#xff0c;高校需要建立一套科学、有效的教师教学质量评估系统。本研究采用 SSM技术框架&#xff0c;旨在开发一款高校教师教学质量评估系统。 SSM框架作为一种成熟的Java开发框架&#xff0c;具…...

【Linux进阶】文件系统5——ext2文件系统(inode)

1.再谈inode (1) 理解inode&#xff0c;要从文件储存说起。 文件储存在硬盘上&#xff0c;硬盘的最小存储单位叫做"扇区"&#xff08;Sector&#xff09;。每个扇区储存512字节&#xff08;相当于0.5KB&#xff09;。操作系统读取硬盘的时候&#xff0c;不会一个个…...

华为云简介

前言 华为云是华为的云服务品牌&#xff0c;将华为30多年在ICT领域的技术积累和产品解决方案开放给客户&#xff0c;致力于提供稳定可靠、安全可信、可持续创新的云服务&#xff0c;赋能应用、使能数据、做智能世界的“黑土地”&#xff0c;推进实现“用得起、用得好、用得放心…...

Doris数据库---建表、调整表结构操作

一、简介 本文章主讲创建 Doris 自维护的表的语法&#xff0c;以下为本人最近为数据中台接入doris所踩的坑及其解决方案&#xff0c;欢迎点评。 二、doris建表语法&#xff1a; 官网建表语法网址链接&#xff1a;CREATE-TABLE - Apache Doris 官网建表语法如图所示&#xf…...

《昇思 25 天学习打卡营第 11 天 | ResNet50 图像分类 》

《昇思 25 天学习打卡营第 11 天 | ResNet50 图像分类 》 活动地址&#xff1a;https://xihe.mindspore.cn/events/mindspore-training-camp 签名&#xff1a;Sam9029 计算机视觉-图像分类&#xff0c;很感兴趣 且今日精神颇佳&#xff0c;一个字&#xff0c;学啊 上一节&…...

实现多数相加,但是传的参不固定

一、情景 一般实现的加法和减法等简单的相加减函数的话。一般都是写好固定传的参数。比如&#xff1a; function add(a,b) {return a b;} 这是固定的传入俩个&#xff0c;如果是三个呢&#xff0c;有人说当然好办&#xff01; 这样写不就行了&#xff01; function add(a…...

Windows环境安装Redis和Redis Desktop Manager图文详解教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Redis概述 Redis是一个开源的高性能键值对数据库&#xff0c;以其卓越的读写速度而著称&#xff0c;广泛用于数据库、缓存和消息代理。它主要将数据存储在内存中&#xff0…...

SQL Server 2022的组成

《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;》图书介绍-CSDN博客 SQL Server 2022主要由4部分组成&#xff0c;分别是数据库引擎、分析服务、集成服务和报表服务。本节将详细介绍这些内容。 1.2.1 SQL Server 2022的数据库引擎 SQL Server 2022的…...

【大语言模型系列之Transformer】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

操作系统-懒汉式单例模式

懒汉式单例模式的主要好处有以下几点&#xff1a; 1.资源利用效率高: 只有在第一次调用 getInstance() 方法时才创建实例对象,而不是在类加载时就创建。这可以节省系统资源。 2.延迟加载: 实例对象的创建被延迟到第一次使用时,可以减少系统启动时的资源消耗。 3.线程安全: 这种…...

设计模式探索:策略模式

1. 什么是策略模式&#xff08;Strategy Pattern&#xff09; 定义 策略模式&#xff08;Strategy Pattern&#xff09;的原始定义是&#xff1a;定义一系列算法&#xff0c;将每一个算法封装起来&#xff0c;并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而…...

提升效能:Symfony 性能优化实用指南

Symfony 是一个功能丰富的 PHP Web 框架&#xff0c;但在构建高性能应用程序时&#xff0c;开发者需要考虑多种性能优化策略。本文将探讨一系列实用的 Symfony 性能优化技巧&#xff0c;帮助开发者提高应用程序的响应速度和整体性能。 1. 了解 Symfony 缓存机制 Symfony 提供…...

1.pwn的汇编基础(提及第一个溢出:整数溢出)

汇编掌握程度 能看懂就行&#xff0c;绝大多数情况不需要真正的编程(shellcode题除外) 其实有时候也不需要读汇编&#xff0c;ida F5 通常都是分析gadget&#xff0c;知道怎么用&#xff0c; 调试程序也不需要分析每一条汇编指令&#xff0c;单步执行然后查看寄存器状态即可 但…...

迎接AI新时代:GPT-5即将登场的巨大变革与应用前瞻

迎接AI新时代&#xff1a;GPT-5即将登场的巨大变革与应用前瞻 &#x1f48e;1. GPT-5 一年半后发布&#xff1a;AI新时代的来临1.1 GPT-5的飞跃&#xff1a;从高中生到博士生 &#x1f48e;2. GPT-5的潜在应用场景&#x1f48e;2.1 医疗诊断和健康管理&#x1f48e;2.2 教育领域…...

封锁-封锁模式(共享锁、排他锁)、封锁协议(两阶段封锁协议)

一、引言 1、封锁技术是目前大多数商用DBMS采用的并发控制技术&#xff0c;封锁技术通过在数据库对象上维护锁来实现并发事务非串行调度的冲突可串行化 2、基于锁的并发控制的基本思想是&#xff1a; 当一个事务对需要访问的数据库对象&#xff0c;例如关系、元组等进行操作…...

跨境干货|最新注册Google账号方法分享

谷歌账号对做跨境外贸业务的人来说是刚需&#xff0c;目前来说大部分的海外社媒平台、工具都可以用谷歌账号来注册。但是仍然有很多朋友并不知道如何注册这个谷歌账号&#xff0c;今天就来给大家分享2个注册谷歌账号的方法&#xff0c;一个是手机号注册&#xff0c;一个是如何跳…...