ASCII / Char 码值对照表:常用字符、控制字符与生成方法

在排查字符串、协议报文、键盘输入、日志乱码时,经常会遇到 Char(10)chr(13)ASCII 码 这类写法。原文是一份 Char 码值列表,这里把它整理成更适合查阅的版本:先看常用控制字符,再看可见字符范围,最后给出生成完整对照表的方法。

来源整理:https://blog.csdn.net/huwei2003/article/details/122604370

1. 先记住几个最常用的 Char 码

码值简称含义
0NUL空字符 / 字符 0
7BEL响铃
8BS回格
9TAB水平制表符
10LF换行
11VT垂直制表符
12FF换页
13CR回车;Windows 文本换行常见组合是 CRLF,也就是 chr(13) + chr(10)
26SUB / EOF结束标记,部分环境里表示 End
27ESCEscape / 脱离,键盘上常见为 Esc
32SPACE空格

换行最容易混淆

不同系统和场景中,“换行”的表示并不完全一样:

  • Char(10) / chr(10):LF,换行。
  • Char(13) / chr(13):CR,回车。
  • chr(13) + chr(10):CRLF,Windows 文本文件和很多网络协议里常见的换行组合。

如果遇到文本在 Windows、Linux、数据库、接口之间来回传递后格式异常,优先检查这里。

2. 常用可见 ASCII 字符范围

Char(32) 开始,基本进入日常可见字符区间。

码值字符 / 范围
33!
34"
35#
36$
37%
38&
39'
40(
41)
42*
43+
44,
45-
46.
47/
48-570-9
58:
59;
60<
61=
62>
63?
64@
65-90A-Z
91[
92\
93]
94^
95_
96```
97-122a-z
123{
124``
125}
126~

几个常见范围可以直接记:

  • 数字:48-57 对应 0-9
  • 大写字母:65-90 对应 A-Z
  • 小写字母:97-122 对应 a-z
  • 空格:32
  • 反斜杠:92,也就是 \

3. 扩展字符不是所有环境都完全一致

原文中还列出了部分扩展字符,例如:

码值可能显示
128
130
131ƒ
132
133

这类字符要注意:不同编码页、终端、字体、语言环境下,显示结果可能不一致。做跨系统传输时,不建议只靠“看起来显示正常”判断,应明确使用 UTF-8、GBK 等具体编码。

4. 用代码生成 Char 对照表

如果只是想快速查看某个范围内的字符,可以直接循环输出。以 C# 为例:

for (int i = 0; i < 133; i++)
{
    char a = (char)i;
    Console.WriteLine("Char(" + i + ")----" + a);
}

也可以在任意编辑器里使用 Alt + 小键盘数字 测试部分字符。例如按住 Alt 输入 10 后松开,部分环境里可以看到换行效果。

5. 实用建议

  • 处理换行:重点区分 101313+10
  • 处理数字和字母:记住 0=48A=65a=97,其他可按顺序推。
  • 处理不可见字符:日志里建议用转义形式输出,例如 \n\r\t,不要直接打印原字符。
  • 处理跨系统文本:先确认编码,再确认换行格式。

总结

Char 码表最常用的不是死记完整列表,而是掌握几个关键区间:

1. 0-31:控制字符区,常见有 Tab、换行、回车、Esc。 2. 32-126:常用 ASCII 可见字符区。 3. 48-57:数字。 4. 65-90:大写字母。 5. 97-122:小写字母。

日常排查字符串问题时,优先看 Tab(9)LF(10)CR(13)Space(32) 这几个,通常就能定位大部分格式问题。