在 Code 128A 编码中,支持 ASCII 控制字符(0x00–0x1F),这些字符通常用于设备控制、通信协议或特殊用途。以下是它们的含义及对应的 ASCII 码值:
Code 128A 控制字符对照表
| 缩写 | 全称 | ASCII 码 | 含义 | 常见用途 |
| NUL | Null | 0x00 | 空字符(无操作) | 数据填充、字符串终止 |
| SOH | Start of Heading | 0x01 | 标题开始 | 通信协议(如串行通信) |
| STX | Start of Text | 0x02 | 文本开始 | 数据帧起始标志 |
| ETX | End of Text | 0x03 | 文本结束 | 数据帧结束标志 |
| EOT | End of Transmission | 0x04 | 传输结束 | 通信终止信号 |
| ENQ | Enquiry | 0x05 | 询问(请求响应) | 设备握手信号 |
| ACK | Acknowledge | 0x06 | 确认(响应有效) | 通信确认 |
| BEL | Bell | 0x07 | 响铃(警报声) | 终端提示音 |
| BS | Backspace | 0x08 | 退格 | 文本编辑 |
| HT | Horizontal Tab | 0x09 | 水平制表符 | 表格对齐 |
| LF | Line Feed | 0x0A | 换行(↓) | 文本换行 |
| VT | Vertical Tab | 0x0B | 垂直制表符 | 打印机控制 |
| FF | Form Feed | 0x0C | 换页(打印机翻页) | 打印机控制 |
| CR | Carriage Return | 0x0D | 回车(→) | 文本换行(与LF组合) |
| SO | Shift Out | 0x0E | 切换字符集(如扩展符号) | 旧式终端控制 |
| SI | Shift In | 0x0F | 恢复默认字符集 | 旧式终端控制 |
| DLE | Data Link Escape | 0x10 | 数据链路转义(后续字符特殊解释) | 通信协议控制 |
| DC1 | Device Control 1 | 0x11 | 设备控制1(如XON) | 流控(恢复传输) |
| DC2 | Device Control 2 | 0x12 | 设备控制2(如打印机激活) | 外设控制 |
| DC3 | Device Control 3 | 0x13 | 设备控制3(如XOFF) | 流控(暂停传输) |
| DC4 | Device Control 4 | 0x14 | 设备控制4(如取消操作) | 外设控制 |
| NAK | Negative Acknowledge | 0x15 | 否认(响应无效) | 通信错误反馈 |
| SYN | Synchronous Idle | 0x16 | 同步空闲(保持通信同步) | 同步通信协议 |
| ETB | End of Transmission Block | 0x17 | 传输块结束 | 数据分块传输 |
| CAN | Cancel | 0x18 | 取消(中止操作) | 中断信号 |
| EM | End of Medium | 0x19 | 介质结束(如磁带用完) | 存储设备控制 |
| SUB | Substitute | 0x1A | 替换(无效字符占位) | 错误处理 |
| ESC | Escape | 0x1B | 转义(后续字符特殊含义) | 控制序列引导符 |
| FS | File Separator | 0x1C | 文件分隔符 | 数据分层 |
| GS | Group Separator | 0x1D | 组分隔符 | 数据分组 |
| RS | Record Separator | 0x1E | 记录分隔符 | 数据库/日志分记录 |
| US | Unit Separator | 0x1F | 单元分隔符 | 数据分字段 |
Code 128A 编码规则
- 这些控制字符在 Code 128A 中的 编码值 = ASCII 码 + 64(例如 `NUL`(0x00)的 Code 128A 码字是 64)。
- 仅 Code 128A 支持控制字符,Code 128B/C 仅支持可打印字符。
使用场景
- 工业设备:通过条码发送控制指令(如打印机控制 `ESC`、`FF`)。
- 通信协议:嵌入 `STX`/`ETX` 标记数据帧。
- 特殊系统:旧式终端或数据库导入(使用分隔符 `FS`/`RS`)。
如果需要生成含控制字符的条码,需使用 Code 128A 并确保生成工具支持非可打印字符输入(如通过十六进制或转义序列)。