终端数据

Text、Hex 与字符编码

按协议选择表达方式,按设备选择字符编码,并核对真正影响通信的字节。

本页内容

本页内容

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 单选按钮右边就是;设置对话框的接收页和发送页也有同一项。

接收设置与发送设置两组中,Text/Hex 右侧的编码下拉框
收发各自独立选择编码。默认 UTF-8,与旧版本行为一致。

可选: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 正常,问题几乎一定在编码上。

这篇文档是否有帮助?