本页内容
本页内容
Text 与 Hex 使用方式
协议可读时优先用 Text 模式,例如 AT 命令、启动日志、控制台输出和按行返回的消息。
协议是二进制时优先用 Hex 模式,例如 Modbus RTU、私有 UART 帧、传感器报文、Bootloader 帧或包含不可打印字节的数据。
实用检查方法:
- 文本乱码时,先确认波特率,再检查编码和显示模式。
- 二进制命令无效时,用 Hex 模式核对实际发出的每个字节。
- 发送完整消息时,优先配置“行尾追加”,不要手动输入不可见字符;在接收终端区直接输入命令时,单独配置“回车发送”。文本消息中间需要控制字节时,开启转义序列。
- 常用报文建议保留空格,例如
01 03 00 00 00 02 C4 0B,后续排查更容易读。
文本编码
Text 与 Hex 决定消息怎么显示,编码决定设备实际收到哪些字节。两者相互独立:中文设备常用 GB18030、GBK 或 Big5,把它当成 UTF-8 读就会变成乱码,反过来也一样。
编码在快捷设置面板的接收设置和发送设置两组里选择,Text/Hex 单选按钮右边就是;设置对话框的接收页和发送页也有同一项。
可选:UTF-8、GB18030、GBK、GB2312、Big5、Shift-JIS、EUC-KR、ISO-8859-1、Windows-1252、System。
使用要点:
- 收发独立配置。设备用 GBK 回复、而你希望以 UTF-8 发送,可以分别设置。
- 改动立即生效,正在收数据也不需要重新连接。切换时正在拼接的半个字符会被丢弃,这是换编码时应有的行为。
- Hex 模式下编码下拉框变灰,因为十六进制就是原始字节;但选择会保留,切回 Text 仍是原来那个编码。
- 无法编码的字符会被拒发,不会替换成
?。设备分不清替换出来的?和你真正输入的?,所以宁可不发:状态栏会提示是哪个字符,内容留在输入框里等你修改。例如泰文在 GBK 下就发不出去。 - 日志文件始终以 UTF-8 保存,不跟随线缆编码,换台机器仍然可读。
- 校验和按最终发出的字节计算。同一段文字在 UTF-8 和 GBK 下字节不同,校验值自然也不同。
排查乱码的顺序:先确认波特率,再确认 Text/Hex 模式,最后确认编码。如果只有中文、日文或韩文乱码而 ASCII 正常,问题几乎一定在编码上。
转义序列
想在文本消息里放一个控制字节、又不想切到 Hex,可以在设置对话框(工具 → 设置...)的「发送」页勾选转义序列(\n \r \xHH)。它默认关闭,只对 Text 模式生效。开启后,发送框这样解读:
| 写法 | 发出 |
|---|---|
\r \n \t |
回车、换行、制表符(0D 0A 09) |
\0 \a \b \f \v \e |
NUL、BEL、BS、FF、VT、ESC(00 07 08 0C 0B 1B) |
\xHH |
任意一个字节,例如 \x1B |
\\ |
一个反斜杠 |
- 转义表示的是字节,不经过文本编码;前后的普通文字照常按编码转换。
- “行尾追加”照常生效,而手写的
\n始终是单个字节0A,不会被改写成行尾设置的 CR LF。校验和按最终发出的字节计算。 - 无法识别的转义会拒发整帧。
\q、\x后面不足两位十六进制数字、或末尾单独一个反斜杠,都一个字节不发;状态栏说明原因,内容留在发送框里。绝不会猜一个字节发出去。 - Hex 模式不受影响。 关闭此选项时,反斜杠按原样发送,与旧版本一致。