ASCII / Char 码值对照表:常用字符、控制字符与生成方法
在排查字符串、协议报文、键盘输入、日志乱码时,经常会遇到 Char(10)、chr(13)、ASCII 码 这类写法。原文是一份 Char 码值列表,这里把它整理成更适合查阅的版本:先看常用控制字符,再看可见字符范围,最后给出生成完整对照表的方法。
来源整理:https://blog.csdn.net/huwei2003/article/details/122604370
1. 先记住几个最常用的 Char 码
| 码值 | 简称 | 含义 |
|---|---|---|
| 0 | NUL | 空字符 / 字符 0 |
| 7 | BEL | 响铃 |
| 8 | BS | 回格 |
| 9 | TAB | 水平制表符 |
| 10 | LF | 换行 |
| 11 | VT | 垂直制表符 |
| 12 | FF | 换页 |
| 13 | CR | 回车;Windows 文本换行常见组合是 CRLF,也就是 chr(13) + chr(10) |
| 26 | SUB / EOF | 结束标记,部分环境里表示 End |
| 27 | ESC | Escape / 脱离,键盘上常见为 Esc |
| 32 | SPACE | 空格 |
换行最容易混淆
不同系统和场景中,“换行”的表示并不完全一样:
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-57 | 0-9 | |
| 58 | : | |
| 59 | ; | |
| 60 | < | |
| 61 | = | |
| 62 | > | |
| 63 | ? | |
| 64 | @ | |
| 65-90 | A-Z | |
| 91 | [ | |
| 92 | \ | |
| 93 | ] | |
| 94 | ^ | |
| 95 | _ | |
| 96 | ``` | |
| 97-122 | a-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. 实用建议
- 处理换行:重点区分
10、13、13+10。 - 处理数字和字母:记住
0=48、A=65、a=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) 这几个,通常就能定位大部分格式问题。