Java ASCII 表

2025年5月12日 | 阅读 11 分钟

ASCII 是 **American Standard Code for Information Interchange**(美国信息交换标准代码)的缩写。ASCII 是一种标准的数据传输代码,计算机使用它来表示文本数据和控制字符。

ASCII 是一个 7 位字符集,包含 128 个字符,即从 0 到 127。ASCII 为每个字符表示一个数值,例如 65 是 **A** 的值。在我们的 Java 程序中,我们需要操作存储在 ASCII 中的字符。

在 Java 中,ASCII 表是一个定义每个字符 ASCII 值的表。它也是 Unicode 的一个小子集,因为 Unicode 包含 2 个字节,而 ASCII 只需要一个字节。

ASCII 值十进制值十六进制值
控制00
控制11
控制22
控制33
控制44
控制55
控制66
控制77
控制88
\t99
\n10A
空白字符11B
\f12C
\r13D
控制14E
控制14F
控制1610
控制1711
控制1812
控制1913
控制2014
控制2115
控制2216
控制2317
控制2418
控制2519
控制261a
控制271b
空白字符281c
空白字符291d
空白字符301e
空白字符311f
空格3220
!3321
"3422
#3523
$3624
%3725
&3826
'3927
(4028
)4129
*422a
+432b
,442c
-452d
.462e
/472f
04830
14931
25032
35133
45234
55335
65436
75537
85638
95739
:583a
;593b
<603c
=613d
>623e
?633f
@6440
A6541
B6642
C6743
D6844
E6945
F7046
G7147
H7248
I7349
J744a
K754b
L764c
M774d
N784e
O794f
P8050
Q8151
R8252
S8353
T8454
U8555
V8656
W8757
X8858
Y8959
Z905a
[915b
\925c
]935d
^945e
_955f
`9660
a9761
b9862
c9963
d10064
e10165
f10266
g10367
h10468
i10569
j1066a
k1076b
l1086c
m1096d
n1106e
o1116f
p11270
q11371
r11472
s11573
t11674
u11775
v11876
w11977
x12078
y12179
z1227a
{1237b
|1247c
}1257d
~1267e
控制1277f

让我们创建一个 Java 程序来构建上述 ASCII 表。在 Java 程序中,我们使用字符的 isWhitespace() 方法来确定一个字符是否是空白字符。我们还使用内置的 IsISOControl() 方法来检测非字母、数字和标点符号的字符。

ASCIITable.java

输出

Java ASCII Table

控制字符的 ASCII 值 (0-31, 127)

ASCII(美国信息交换标准代码)中的控制字符范围从 0 到 31,还包括值 127。这些字符是不可打印的,主要用于控制处理文本的设备、文本格式化或传输控制。它们最初设计用于控制打印机或电传打字机等硬件设备。

以下是这些控制字符及其描述的列表

Character字符名称ASCII 码
NULNull0
SOHStart of Header (标题开始)1
STXStart of Text (文本开始)2
ETXEnd of Text (文本结束)3
EOTEnd of Transmission (传输结束)4
ENQEnquiry (询问)5
ACKAcknowledge (确认)6
BELBell (响铃)7
BS退格8
TAB水平制表符9
LF换行符10
VT垂直制表符11
FFForm Feed (换页)12
CR回车13
SOShift Out (移出)14
SIShift In (移入)15
DLEData Link Escape (数据链路转义)16
DC1Device Control 1 (XON) (设备控制 1)17
DC2Device Control 2 (设备控制 2)18
DC3Device Control 3 (XOFF) (设备控制 3)19
DC4Device Control 4 (设备控制 4)20
NAKNegative Acknowledge (否定确认)21
SYNSynchronous Idle (同步空闲)22
ETBEnd of Transmission Block (传输块结束)23
CANCancel (取消)24
EMEnd of Medium (介质结束)25
SUBSubstitute (替换)26
ESCEscape (换码)27
FSFile Separator (文件分隔符)28
GSGroup Separator (组分隔符)29
RSRecord Separator (记录分隔符)30
USUnit Separator (单元分隔符)31
SPACESpace (空格)32
!Exclamation Mark (感叹号)33
"Double Quote (双引号)34
#Number Sign (井号)35
$Dollar Sign (美元符号)36
%Percent Sign (百分号)37
&和号38
'Single Quote (单引号)39
(Left Parenthesis (左括号)40
)Right Parenthesis (右括号)41
*Asterisk (星号)42
+Plus Sign (加号)43
,Comma (逗号)44
-Hyphen-Minus (连字符-减号)45
.Period (句点)46
/Slash (斜杠)47
0-9Digits 0 to 9 (数字 0 到 9)48-57
:Colon (冒号)58
;Semicolon (分号)59
<Less Than (小于号)60
=Equals Sign (等号)61
>Greater Than (大于号)62
?Question Mark (问号)63
@At Sign (at 符号)64
A-ZUppercase Letters A to Z (大写字母 A 到 Z)65-90
[Left Square Bracket (左方括号)91
\\反斜杠92
]Right Square Bracket (右方括号)93
^Caret (脱字号)94
_Underscore (下划线)95
`Grave Accent (重音符)96
a-zLowercase Letters a to z (小写字母 a 到 z)97-122
{Left Curly Brace (左花括号)123
``Vertical Bar (竖线)
}Right Curly Brace (右花括号)125
~Tilde (波浪号)126
DEL删除127

File Name: ControlCharacters.java (文件名: ControlCharacters.java)

输出

+-----+---------------------------+
| ASC | Description               |
+-----+---------------------------+
|   0 | NUL (Null char)
|   1 | SOH (Start of Heading)
|   2 | STX (Start of Text)
|   3 | ETX (End of Text)
|   4 | EOT (End of Transmission)
|   5 | ENQ (Enquiry)
|   6 | ACK (Acknowledge)
|   7 | BEL (Bell)
|   8 | BS (Backspace)
|   9 | TAB (Horizontal Tab)
|  10 | LF (Line feed)
|  11 | VT (Vertical Tab)
|  12 | FF (Form Feed)
|  13 | CR (Carriage Return)
|  14 | SO (Shift Out / X-On)
|  15 | SI (Shift In / X-Off)
|  16 | DLE (Data Link Escape)
|  17 | DC1 (Device Control 1)
|  18 | DC2 (Device Control 2)
|  19 | DC3 (Device Control 3)
|  20 | DC4 (Device Control 4)
|  21 | NAK (Negative Acknowledge)
|  22 | SYN (Synchronous Idle)
|  23 | ETB (End of Transmission Block)
|  24 | CAN (Cancel)
|  25 | EM (End of Medium)
|  26 | SUB (Substitute)

扩展 ASCII 字符 (128-255)

扩展 ASCII 字符占用 8 位编码方案中的代码 128 至 255,通过增加额外的 128 个字符来增强原始的 7 位 ASCII 集。这种扩展有助于包含更广泛的符号,包括非英语语言的变音符号、各种图形符号和专业的排版细节。

ASCII 码Character描述
128ÇCapital C with cedilla (带软音符的资本 C)
129üLowercase u with diaeresis (带分音符的小写 u)
130éLowercase e with acute accent (带尖音符的小写 e)
131âLowercase a with circumflex (带扬抑符的小写 a)
132äLowercase a with diaeresis (带分音符的小写 a)
133àLowercase a with grave accent (带重音符的小写 a)
134åLowercase a with ring above (带圆圈的小写 a)
135çLowercase c with cedilla (带软音符的小写 c)
136êLowercase e with circumflex (带扬抑符的小写 e)
137ëLowercase e with diaeresis (带分音符的小写 e)
138èLowercase e with grave accent (带重音符的小写 e)
139ïLowercase i with diaeresis (带分音符的小写 i)
140îLowercase i with circumflex (带扬抑符的小写 i)
141ìLowercase i with grave accent (带重音符的小写 i)
142ÄCapital A with diaeresis (带分音符的资本 A)
143ÅCapital A with ring above (带圆圈的资本 A)
144ÉCapital E with acute accent (带尖音符的资本 E)
145æLowercase ae (小写 ae)
146ÆCapital AE (资本 AE)
147ôLowercase o with circumflex (带扬抑符的小写 o)
148öLowercase o with diaeresis (带分音符的小写 o)
149òLowercase o with grave accent (带重音符的小写 o)
150ûLowercase u with circumflex (带扬抑符的小写 u)
151ùLowercase u with grave accent (带重音符的小写 u)
152ÿLowercase y with diaeresis (带分音符的小写 y)
153ÖCapital O with diaeresis (带分音符的资本 O)
154ÜCapital U with diaeresis (带分音符的资本 U)
155¢Cent sign (美分符号)
156£Pound sign (英镑符号)
157¥Yen sign (日元符号)
158Peseta sign (比塞塔符号)
159ƒFlorin sign (弗罗林符号)
160áLowercase a with acute accent (带尖音符的小写 a)
161íLowercase i with acute accent (带尖音符的小写 i)
162óLowercase o with acute accent (带尖音符的小写 o)
163úLowercase u with acute accent (带尖音符的小写 u)
164ñLowercase n with tilde (带波浪线的小写 n)
165ÑCapital N with tilde (带波浪线的资本 N)
166ªFeminine ordinal indicator (女性序数指示符)
167ºMasculine ordinal indicator (男性序数指示符)
168¿Inverted question mark (倒问号)
169®Registered sign (注册商标符号)
170¬Not sign (否定符号)
171½One half (二分之一)
172¼One quarter (四分之一)
173¡Inverted exclamation mark (倒感叹号)
174«Left-pointing double angle quotation mark (左向双引号)
175»Right-pointing double angle quotation mark (右向双引号)
176Light shade (浅色阴影)
177Medium shade (中等色阴影)
178Dark shade (深色阴影)
179Box drawings light vertical (方框图符:轻垂直线)
180Box drawings light vertical and right (方框图符:轻垂直线和右向线)
181Box drawings vertical single and left double (方框图符:单垂直线和双左向线)
182Box drawings vertical double and left single (方框图符:双垂直线和单左向线)
183Box drawings down double and left single (方框图符:双向下线和单左向线)
184Box drawings down single and left double (方框图符:单向下线和双左向线)
185Box drawings double vertical and right (方框图符:双垂直线和右向线)
186Box drawings double vertical (方框图符:双垂直线)
187Box drawings double down and left (方框图符:双向下线和左向线)
188Box drawings double up and left (方框图符:双向上线和左向线)
189Box drawings up double and left single (方框图符:双向上线和单左向线)
190Box drawings up single and left double (方框图符:单向上线和双左向线)
191Box drawings light down and left (方框图符:轻向下线和左向线)
192Box drawings light up and right (方框图符:轻向上线和右向线)
193Box drawings light up and horizontal (方框图符:轻向上线和水平线)
194Box drawings light down and horizontal (方框图符:轻向下线和水平线)
195Box drawings light vertical and right (方框图符:轻垂直线和右向线)
196Box drawings light horizontal (方框图符:轻水平线)
197Box drawings light vertical and horizontal (方框图符:轻垂直线和水平线)
198Box drawings vertical single and right double (方框图符:单垂直线和双右向线)
199Box drawings vertical double and right single (方框图符:双垂直线和单右向线)
200Box drawings double up and right (方框图符:双向上线和右向线)
201Box drawings double down and right (方框图符:双向下线和右向线)
202Box drawings double up and horizontal (方框图符:双向上线和水平线)
203Box drawings double down and horizontal (方框图符:双向下线和水平线)
204Box drawings double vertical and right (方框图符:双垂直线和右向线)
205Box drawings double horizontal (方框图符:双水平线)
206Box drawings double vertical and horizontal (方框图符:双垂直线和水平线)
207Box drawings up single and horizontal double (方框图符:单向上线和双水平线)
208Box drawings up double and horizontal single (方框图符:双向上线和单水平线)
209Box drawings down single and horizontal double (方框图符:单向下线和双水平线)
210Box drawings down double and horizontal single (方框图符:双向下线和单水平线)
211Box drawings up double and right single (方框图符:双向上线和单右向线)
212Box drawings up single and right double (方框图符:单向上线和双右向线)
213Box drawings down single and right double (方框图符:单向下线和双右向线)
214Box drawings down double and right single (方框图符:双向下线和单右向线)
215Box drawings vertical double and horizontal single (方框图符:双垂直线和单水平线)
216Box drawings vertical single and horizontal double (方框图符:单垂直线和双水平线)
217Box drawings light up and left (方框图符:轻向上线和左向线)
218Box drawings light down and right (方框图符:轻向下线和右向线)
219Full block (实心方块)
220Lower half block (下半方块)
221Left half block (左半方块)
222Right half block (右半方块)
223Upper half block (上半方块)
224αGreek small letter alpha (希腊小写字母 alpha)
225ßLatin small letter sharp s (Eszett) (拉丁小写字母 sharp s (Eszett))
226ΓGreek capital letter gamma (希腊大写字母 gamma)
227πGreek small letter pi (希腊小写字母 pi)
228ΣGreek capital letter sigma (希腊大写字母 sigma)
229σGreek small letter sigma (希腊小写字母 sigma)
230µMicro sign (微符号)
231τGreek small letter tau (希腊小写字母 tau)
232ΦGreek capital letter phi (希腊大写字母 phi)
233ΘGreek capital letter theta (希腊大写字母 theta)
234ΩGreek capital letter omega (希腊大写字母 omega)
235δGreek small letter delta (希腊小写字母 delta)
236无穷大
237φGreek small letter phi (希腊小写字母 phi)
238εGreek small letter epsilon (希腊小写字母 epsilon)
239交集
240Identical to (恒等于)
241±Plus-minus sign (加减号)
242Greater-than or equal to (大于等于)
243Less-than or equal to (小于等于)
244Top half integral (积分上半部分)
245Bottom half integral (积分下半部分)
246÷Division sign (除号)
247Almost equal to (约等于)
248°Degree sign (度数符号)
249Bullet operator (项目符号运算符)
250·Middle dot (中间点)
251Square root (平方根)
252Superscript n (上标 n)
253²Superscript two (上标 2)
254Black square (实心方块)
255NBSPNo-break space (不间断空格)

ASCII 的优缺点

ASCII(美国信息交换标准代码)字符编码标准在现代计算的发展中发挥了至关重要的作用。以下是与 ASCII 相关的一些主要优点和缺点:

优点

  1. 简洁性和通用性: ASCII 易于理解和实现,因此在各种平台和系统上都被广泛接受。这种简洁性有助于标准化数据交换并确保兼容性。
  2. 内存占用低: 作为一个 7 位编码系统,与需要 8 位或更多位的其他编码方案相比,ASCII 每个字符使用的内存更少。在早期计算资源有限的时代,这一点尤其有利。
  3. 易于操作: ASCII 使得在编程中操作文本数据变得容易,由于字母的顺序数值分配,可以轻松进行排序、比较和转换等操作。
  4. 广泛的支持: ASCII 几乎得到所有文本编辑器、编程环境和通信系统的支持,确保了软件开发和数据传输的广泛兼容性。
  5. 控制字符: ASCII 包含用于设备控制和文本格式化的控制字符,例如回车和换行符,这对于在各种系统中正确显示文本至关重要。

缺点

  1. 字符集有限: ASCII 仅限于 128 个字符,对于英语以外的语言来说是不够的。这种限制排除了许多语言所需的变音符号和其他变音记号,限制了其在国际应用中的使用。
  2. 缺乏全球适用性: ASCII 无法表示中文、阿拉伯语或西里尔语等非拉丁字符,因此不适合全球化的软件应用程序和互联网内容。
  3. 扩展 ASCII 混淆: 各种扩展 ASCII 版本(128-255)未标准化,导致不同系统和地区之间存在兼容性问题。不同的实现可能以不同的方式解释这些附加字符,导致文本显示不一致和数据损坏。
  4. 被 Unicode 取代: 随着 Unicode 的出现,ASCII 对新系统而言已变得不那么重要。Unicode 通过在单一编码系统中包含几乎所有人类书写系统使用的字符以及大量符号和表情符号,解决了 ASCII 的局限性。
  5. 不适合现代文本处理: ASCII 缺乏用于科学和数学文本的符号和字符,限制了其在学术、科学和技术领域的应用,因为这些领域通常需要更广泛的符号集。