ascll编码表图片_ascii码对照表
ascii碼對照表
ASCII 編碼一覽表(淡黃色背景為控制字符,白色背景為可顯示字符)
二進(jìn)制
十進(jìn)制
十六進(jìn)制
字符/縮寫
解釋
00000000
0
00
NUL (NULL)
空字符
00000001
1
01
SOH (Start Of Headling)
標(biāo)題開始
00000010
2
02
STX (Start Of Text)
正文開始
00000011
3
03
ETX (End Of Text)
正文結(jié)束
00000100
4
04
EOT (End Of Transmission)
傳輸結(jié)束
00000101
5
05
ENQ (Enquiry)
請求
00000110
6
06
ACK (Acknowledge)
回應(yīng)/響應(yīng)/收到通知
00000111
7
07
BEL (Bell)
響鈴
00001000
8
08
BS (Backspace)
退格
00001001
9
09
HT (Horizontal Tab)
水平制表符
00001010
10
0A
LF/NL(Line Feed/New Line)
換行鍵
00001011
11
0B
VT (Vertical Tab)
垂直制表符
00001100
12
0C
FF/NP (Form Feed/New Page)
換頁鍵
00001101
13
0D
CR (Carriage Return)
回車鍵
00001110
14
0E
SO (Shift Out)
不用切換
00001111
15
0F
SI (Shift In)
啟用切換
00010000
16
10
DLE (Data Link Escape)
數(shù)據(jù)鏈路轉(zhuǎn)義
00010001
17
11
DC1/XON
(Device Control 1/Transmission On)
設(shè)備控制1/傳輸開始
00010010
18
12
DC2 (Device Control 2)
設(shè)備控制2
00010011
19
13
DC3/XOFF
(Device Control 3/Transmission Off)
設(shè)備控制3/傳輸中斷
00010100
20
14
DC4 (Device Control 4)
設(shè)備控制4
00010101
21
15
NAK (Negative Acknowledge)
無響應(yīng)/非正常響應(yīng)/拒絕接收
00010110
22
16
SYN (Synchronous Idle)
同步空閑
00010111
23
17
ETB (End of Transmission Block)
傳輸塊結(jié)束/塊傳輸終止
00011000
24
18
CAN (Cancel)
取消
00011001
25
19
EM (End of Medium)
已到介質(zhì)末端/介質(zhì)存儲已滿/介質(zhì)中斷
00011010
26
1A
SUB (Substitute)
替補(bǔ)/替換
00011011
27
1B
ESC (Escape)
逃離/取消
00011100
28
1C
FS (File Separator)
文件分割符
00011101
29
1D
GS (Group Separator)
組分隔符/分組符
00011110
30
1E
RS (Record Separator)
記錄分離符
00011111
31
1F
US (Unit Separator)
單元分隔符
00100000
32
20
(Space)
空格
00100001
33
21
!
00100010
34
22
"
00100011
35
23
#
00100100
36
24
$
00100101
37
25
%
00100110
38
26
&
00100111
39
27
'
00101000
40
28
(
00101001
41
29
)
00101010
42
2A
*
00101011
43
2B
+
00101100
44
2C
,
00101101
45
2D
-
00101110
46
2E
.
00101111
47
2F
/
00110000
48
30
0
00110001
49
31
1
00110010
50
32
2
00110011
51
33
3
00110100
52
34
4
00110101
53
35
5
00110110
54
36
6
00110111
55
37
7
00111000
56
38
8
00111001
57
39
9
00111010
58
3A
:
00111011
59
3B
;
00111100
60
3C
<
00111101
61
3D
=
00111110
62
3E
>
00111111
63
3F
?
01000000
64
40
@
01000001
65
41
A
01000010
66
42
B
01000011
67
43
C
01000100
68
44
D
01000101
69
45
E
01000110
70
46
F
01000111
71
47
G
01001000
72
48
H
01001001
73
49
I
01001010
74
4A
J
01001011
75
4B
K
01001100
76
4C
L
01001101
77
4D
M
01001110
78
4E
N
01001111
79
4F
O
01010000
80
50
P
01010001
81
51
Q
01010010
82
52
R
01010011
83
53
S
01010100
84
54
T
01010101
85
55
U
01010110
86
56
V
01010111
87
57
W
01011000
88
58
X
01011001
89
59
Y
01011010
90
5A
Z
01011011
91
5B
[
01011100
92
5C
01011101
93
5D
]
01011110
94
5E
^
01011111
95
5F
_
01100000
96
60
`
01100001
97
61
a
01100010
98
62
b
01100011
99
63
c
01100100
100
64
d
01100101
101
65
e
01100110
102
66
f
01100111
103
67
g
01101000
104
68
h
01101001
105
69
i
01101010
106
6A
j
01101011
107
6B
k
01101100
108
6C
l
01101101
109
6D
m
01101110
110
6E
n
01101111
111
6F
o
01110000
112
70
p
01110001
113
71
q
01110010
114
72
r
01110011
115
73
s
01110100
116
74
t
01110101
117
75
u
01110110
118
76
v
01110111
119
77
w
01111000
120
78
x
01111001
121
79
y
01111010
122
7A
z
01111011
123
7B
{
01111100
124
7C
|
01111101
125
7D
}
01111110
126
7E
~
01111111
127
7F
DEL (Delete)
刪除
ASCII(American Standard Code for Information Interchange,美國信息互換標(biāo)準(zhǔn)代碼,ASCⅡ)是基于拉丁字母的一套電腦編碼系統(tǒng)。它主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國際標(biāo)準(zhǔn)ISO/IEC 646。
ASCII第一次以規(guī)范標(biāo)準(zhǔn)的型態(tài)發(fā)表是在1967年,最后一次更新則是在1986年,至今為止共定義了128個(gè)字符,其中33個(gè)字符無法顯示(這是以現(xiàn)今操作系統(tǒng)為依歸,但在DOS模式下可顯示出一些諸如笑臉、撲克牌花式等8-bit符號),且這33個(gè)字符多數(shù)都已是陳廢的控制字符,控制字符的用途主要是用來操控已經(jīng)處理過的文字,在33個(gè)字符之外的是95個(gè)可顯示的字符,包含用鍵盤敲下空白鍵所產(chǎn)生的空白字符也算1個(gè)可顯示字符(顯示為空白)。
對控制字符的解釋
ASCII 編碼中第 0~31 個(gè)字符(開頭的 32 個(gè)字符)以及第 127 個(gè)字符(最后一個(gè)字符)都是不可見的(無法顯示),但是它們都具有一些特殊功能,所以稱為控制字符(?Control Character)或者功能碼(Function Code)。
這 33 個(gè)控制字符大都與通信、數(shù)據(jù)存儲以及老式設(shè)備有關(guān),有些在現(xiàn)代電腦中的含義已經(jīng)改變了。
有些控制符需要一定的計(jì)算機(jī)功底才能理解,初學(xué)者可以跳過,選擇容易的理解即可。
下面列出了部分控制字符的具體功能:
NUL (0)
NULL,空字符。空字符起初本意可以看作為 NOP(中文意為空操作,就是啥都不做的意思),此位置可以忽略一個(gè)字符。
之所以有這個(gè)空字符,主要是用于計(jì)算機(jī)早期的記錄信息的紙帶,此處留個(gè) NUL 字符,意思是先占這個(gè)位置,以待后用,比如你哪天想起來了,在這個(gè)位置在放一個(gè)別的啥字符之類的。
后來呢,NUL 被用于C語言中,表示字符串的結(jié)束,當(dāng)一個(gè)字符串中間出現(xiàn) NUL 時(shí),就意味著這個(gè)是一個(gè)字符串的結(jié)尾了。這樣就方便按照自己需求去定義字符串,多長都行,當(dāng)然只要你內(nèi)存放得下,然后最后加一個(gè),即空字符,意思是當(dāng)前字符串到此結(jié)束。
SOH (1)
Start Of Heading,標(biāo)題開始。如果信息溝通交流主要以命令和消息的形式的話,SOH 就可以用于標(biāo)記每個(gè)消息的開始。
1963年,最開始 ASCII 標(biāo)準(zhǔn)中,把此字符定義為 Start of Message,后來又改為現(xiàn)在的 Start Of Heading。
現(xiàn)在,這個(gè) SOH 常見于主從(master-slave)模式的 RS232 的通信中,一個(gè)主設(shè)備,以 SOH 開頭,和從設(shè)備進(jìn)行通信。這樣方便從設(shè)備在數(shù)據(jù)傳輸出現(xiàn)錯(cuò)誤的時(shí)候,在下一次通信之前,去實(shí)現(xiàn)重新同步(resynchronize)。如果沒有一個(gè)清晰的類似于 SOH 這樣的標(biāo)記,去標(biāo)記每個(gè)命令的起始或開頭的話,那么重新同步,就很難實(shí)現(xiàn)了。
STX (2) 和 ETX (3)
STX 表示 Start Of Text,意思是“文本開始”;ETX 表示 End Of Text,意思是“文本結(jié)束”。
通過某種通訊協(xié)議去傳輸?shù)囊粋€(gè)數(shù)據(jù)(包),稱為一幀的話,常會(huì)包含一個(gè)幀頭,包含了尋址信息,即你是要發(fā)給誰,要發(fā)送到目的地是哪里,其后跟著真正要發(fā)送的數(shù)據(jù)內(nèi)容。
而 STX,就用于標(biāo)記這個(gè)數(shù)據(jù)內(nèi)容的開始。接下來是要傳輸?shù)臄?shù)據(jù),最后是 ETX,表明數(shù)據(jù)的結(jié)束。
而中間具體傳輸?shù)臄?shù)據(jù)內(nèi)容,ASCII 并沒有去定義,它和你所用的傳輸協(xié)議有關(guān)。
幀頭
數(shù)據(jù)或文本內(nèi)容
SOH(表明幀頭開始)
......(幀頭信息,比如包含了目的地址,表明你發(fā)送給誰等等)
STX(表明數(shù)據(jù)開始)
......(真正要傳輸?shù)臄?shù)據(jù))
ETX(表明數(shù)據(jù)結(jié)束
BEL (7)
BELl,響鈴。在 ASCII 編碼中,BEL 是個(gè)比較有意思的東西。BEL 用一個(gè)可以聽得見的聲音來吸引人們的注意,既可以用于計(jì)算機(jī),也可以用于周邊設(shè)備(比如打印機(jī))。
注意,BEL 不是聲卡或者喇叭發(fā)出的聲音,而是蜂鳴器發(fā)出的聲音,主要用于報(bào)警,比如硬件出現(xiàn)故障時(shí)就會(huì)聽到這個(gè)聲音,有的計(jì)算機(jī)操作系統(tǒng)正常啟動(dòng)也會(huì)聽到這個(gè)聲音。蜂鳴器沒有直接安裝到主板上,而是需要連接到主板上的一種外設(shè),現(xiàn)代很多計(jì)算機(jī)都不安裝蜂鳴器了,即使輸出 BEL 也聽不到聲音,這個(gè)時(shí)候 BEL 就沒有任何作用了。
BS (8)
BackSpace,退格鍵。退格鍵的功能,隨著時(shí)間變化,意義也變得不同了。
退格鍵起初的意思是,在打印機(jī)和電傳打字機(jī)上,往回移動(dòng)一格光標(biāo),以起到強(qiáng)調(diào)該字符的作用。比如你想要打印一個(gè) a,然后加上退格鍵后,就成了 aBS^。在機(jī)械類打字機(jī)上,此方法能夠起到實(shí)際的強(qiáng)調(diào)字符的作用,但是對于后來的 CTR 下時(shí)期來說,就無法起到對應(yīng)效果了。
而現(xiàn)代所用的退格鍵,不僅僅表示光標(biāo)往回移動(dòng)了一格,同時(shí)也刪除了移動(dòng)后該位置的字符。
HT (9)
Horizontal Tab,水平制表符,相當(dāng)于 Table/Tab 鍵。
水平制表符的作用是用于布局,它控制輸出設(shè)備前進(jìn)到下一個(gè)表格去處理。而制表符 Table/Tab 的寬度也是靈活不固定的,只不過在多數(shù)設(shè)備上制表符 Tab 都預(yù)定義為 4 個(gè)空格的寬度。
水平制表符 HT 不僅能減少數(shù)據(jù)輸入者的工作量,對于格式化好的文字來說,還能夠減少存儲空間,因?yàn)橐粋€(gè)Tab鍵,就代替了 4 個(gè)空格。
LF (10)
Line Feed,直譯為“給打印機(jī)等喂一行”,也就是“換行”的意思。LF 是 ASCII 編碼中常被誤用的字符之一。
LF 的最原始的含義是,移動(dòng)打印機(jī)的頭到下一行。而另外一個(gè) ASCII 字符,CR(Carriage Return)才是將打印機(jī)的頭移到最左邊,即一行的開始(行首)。很多串口協(xié)議和 MS-DOS 及 Windows 操作系統(tǒng),也都是這么實(shí)現(xiàn)的。
而C語言和 Unix 操作系統(tǒng)將 LF 的含義重新定義為“新行”,即 LF 和 CR 的組合效果,也就是回車且換行的意思。
從程序的角度出發(fā),C語言和 Unix 對 LF 的定義顯得更加自然,而 MS-DOS 的實(shí)現(xiàn)更接近于 LF 的本意。
現(xiàn)在人們常將 LF 用做“新行(newline)”的功能,大多數(shù)文本編輯軟件也都可以處理單個(gè) LF 或者 CR/LF 的組合了。
VT (11)
Vertical Tab,垂直制表符。它類似于水平制表符 Tab,目的是為了減少布局中的工作,同時(shí)也減少了格式化字符時(shí)所需要存儲字符的空間。VT 控制符用于跳到下一個(gè)標(biāo)記行。
說實(shí)話,還真沒看到有些地方需要用 VT,因?yàn)橐话阍趽Q行的時(shí)候都是用 LF 代替 VT 了。
FF (12)
Form Feed,換頁。設(shè)計(jì)換頁鍵,是用來控制打印機(jī)行為的。當(dāng)打印機(jī)收到此鍵碼的時(shí)候,打印機(jī)移動(dòng)到下一頁。
不同的設(shè)備的終端對此控制符所表現(xiàn)的行為各不同,有些會(huì)清除屏幕,有些只是顯示^L字符,有些只是新?lián)Q一行而已。例如,Unix/Linux 下的 Bash Shell 和 Tcsh 就把 FF 看做是一個(gè)清空屏幕的命令。
CR (13)
Carriage return,回車,表示機(jī)器的滑動(dòng)部分(或者底座)返回。
CR 回車的原意是讓打印頭回到左邊界,并沒有移動(dòng)到下一行的意思。隨著時(shí)間的流逝,后來人們把 CR 的意思弄成了 Enter 鍵,用于示意輸入完畢。
在數(shù)據(jù)以屏幕顯示的情況下,人們按下 Enter 的同時(shí),也希望把光標(biāo)移動(dòng)到下一行,因此C語言和 Unix 重新定義了 CR 的含義,將其表示為移動(dòng)到下一行。當(dāng)輸入 CR 時(shí),系統(tǒng)也常常隱式地將其轉(zhuǎn)換為LF。
SO (14) 和 SI (15)
SO,Shift Out,不用切換;SI,Shift In,啟用切換。
早在 1960s 年代,設(shè)計(jì) ASCII 編碼的美國人就已經(jīng)想到了,ASCII 編碼不僅僅能用于英文,也要能用于外文字符集,這很重要,定義 Shift In 和 Shift Out 正是考慮到了這點(diǎn)。
最開始,其意為在西里爾語和拉丁語之間切換。西里爾語 ASCII(也即 KOI-7 編碼)將 Shift 作為一個(gè)普通字符,而拉丁語 ASCII(也就是我們通常所說的 ASCII)用 Shift 去改變打印機(jī)的字體,它們完全是兩種含義。
在拉丁語 ASCII 中,SO 用于產(chǎn)生雙倍寬度的字符(類似于全角),而用 SI 打印壓縮的字體(類似于半角)。
DLE (16)
Data Link Escape,數(shù)據(jù)鏈路轉(zhuǎn)義。
有時(shí)候我們需要在通信過程中發(fā)送一些控制字符,但是總有一些情況下,這些控制字符被看成了普通的數(shù)據(jù)流,而沒有起到對應(yīng)的控制效果,ASCII 編碼引入 DLE 來解決這類問題。
如果數(shù)據(jù)流中檢測到了 DLE,數(shù)據(jù)接收端會(huì)對數(shù)據(jù)流中接下來的字符另作處理。但是具體如何處理,ASCII 規(guī)范中并沒有定義,只是弄了個(gè) DLE 去打斷正常的數(shù)據(jù)流,告訴接下來的數(shù)據(jù)要特殊對待。
DC1 (17)
Device Control 1,或者 XON – Transmission on。
這個(gè) ASCII 控制符盡管原先定義為 DC1, 但是現(xiàn)在常表示為 XON,用于串行通信中的軟件流控制。其主要作用為,在通信被控制符 XOFF 中斷之后,重新開始信息傳輸。
用過串行終端的人應(yīng)該還記得,當(dāng)有時(shí)候數(shù)據(jù)出錯(cuò)了,按 Ctrl+Q(等價(jià)于XON)有時(shí)候可以起到重新傳輸?shù)男Ч_@是因?yàn)?#xff0c;此 Ctrl+Q 鍵盤序列實(shí)際上就是產(chǎn)生 XON 控制符,它可以將那些由于終端或者主機(jī)方面,由于偶爾出現(xiàn)的錯(cuò)誤的 XOFF 控制符而中斷的通信解鎖,使其正常通信。
DC3 (19)
Device Control 3,或者 XOFF(Transmission off,傳輸中斷)。
EM (25)
End of Medium,已到介質(zhì)末端,介質(zhì)存儲已滿。
EM 用于,當(dāng)數(shù)據(jù)存儲到達(dá)串行存儲介質(zhì)末尾的時(shí)候,就像磁帶或磁頭滾動(dòng)到介質(zhì)末尾一樣。其用于表述數(shù)據(jù)的邏輯終點(diǎn),即不必非要是物理上的達(dá)到數(shù)據(jù)載體的末尾。
FS(28)
File Separator,文件分隔符。FS 是個(gè)很有意思的控制字符,它可以讓我們看到 1960s 年代的計(jì)算機(jī)是如何組織的。
我們現(xiàn)在習(xí)慣于隨機(jī)訪問一些存儲介質(zhì),比如 RAM、磁盤等,但是在設(shè)計(jì) ASCII 編碼的那個(gè)年代,大部分?jǐn)?shù)據(jù)還是順序的、串行的,而不是隨機(jī)訪問的。此處所說的串行,不僅僅指的是串行通信,還指的是順序存儲介質(zhì),比如穿孔卡片、紙帶、磁帶等。
在串行通信的時(shí)代,設(shè)計(jì)這么一個(gè)用于表示文件分隔的控制字符,用于分割兩個(gè)單獨(dú)的文件,是一件很明智的事情。
GS(29)
Group Separator,分組符。
ASCII 定義控制字符的原因之一就是考慮到了數(shù)據(jù)存儲。
大部分情況下,數(shù)據(jù)庫的建立都和表有關(guān),表包含了多條記錄。同一個(gè)表中的所有記錄屬于同一類型,不同的表中的記錄屬于不同的類型。
而分組符 GS 就是用來分隔串行數(shù)據(jù)存儲系統(tǒng)中的不同的組。值得注意的是,當(dāng)時(shí)還沒有使用 Excel 表格,ASCII 時(shí)代的人把它叫做組。
RS(30)
Record Separator,記錄分隔符,用于分隔一個(gè)組或表中的多條記錄。
US(31)
Unit Separator,單元分隔符。
在 ASCII 定義中,數(shù)據(jù)庫中所存儲的最小的數(shù)據(jù)項(xiàng)叫做單元(Unit)。而現(xiàn)在我們稱其字段(Field)。單元分隔符 US 用于分割串行數(shù)據(jù)存儲環(huán)境下的不同單元。
現(xiàn)在的數(shù)據(jù)庫實(shí)現(xiàn)都要求大部分類型都擁有固定的長度,盡管有時(shí)候可能用不到,但是對于每一個(gè)字段,卻都要分配足夠大的空間,用于存放最大可能的數(shù)據(jù)。
這種做法的弊端就是占用了大量的存儲空間,而 US 控制符允許字段具有可變的長度。在 1960s 年代,數(shù)據(jù)存儲空間很有限,用 US 將不同單元分隔開,能節(jié)省很多空間。
DEL (127)
Delete,刪除。
有人也許會(huì)問,為何 ASCII 編碼中其它控制字符的值都很小(即 0~31),而 DEL 的值卻很大呢(為 127)?
這是由于這個(gè)特殊的字符是為紙帶而定義的。在那個(gè)年代,絕大多數(shù)的紙帶都是用7個(gè)孔洞去編碼數(shù)據(jù)的。而 127 這個(gè)值所對應(yīng)的二進(jìn)制值為111 1111(所有 7 個(gè)比特位都是1),將 DEL 用在現(xiàn)存的紙帶上時(shí),所有的洞就都被穿孔了,就把已經(jīng)存在的數(shù)據(jù)都擦除掉了,就起到了刪除的作用。
個(gè)性翻譯轉(zhuǎn)換
上網(wǎng)工具應(yīng)用
制作工具應(yīng)用
生活便民查詢
民族文化
總結(jié)
以上是生活随笔為你收集整理的ascll编码表图片_ascii码对照表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLite轻量级数据库,操作数据常用语
- 下一篇: 思想已经高过行动好多了