【问题标题】:Python : write to COM in ISO 8859-1Python:以 ISO 8859-1 写入 COM
【发布时间】:2017-08-28 07:21:43
【问题描述】:

我需要使用 HART 协议写入 COM 端口。 我需要在端口中写入的单词是 ISO 8859-1 格式。 我尝试使用 pyvisa,但出现错误(对于这些字符:ÿÿÿÿÿ)...我认为是因为它们不是标准的 ASCII。 我现在能做什么?我应该去找另一个包在 COM 端口上写吗?

有什么建议吗?

【问题讨论】:

    标签: python serial-port pyserial iso non-ascii-characters


    【解决方案1】:

    如果您使用 pyserial,您可以使用“Latin1”编码而不是标准的“UTF-8”。 RX 看起来像:

    inpchar = comXX.read().decode("Latin1",'ignore')
    

    TX 看起来像:

    Text = "-273\xb0C\n" ## will print "-273°C\n"
    comXX.write(Text.encode("Latin1"))
    

    这适用于 pyserial 3.x,不确定 2.x。 (更新)我刚刚在我的构建机器上运行了这个,在 python 3.4 上打印失败,但在 python 3.6.2 上工作。 read() 解码似乎工作正常,但打印失败......我对 python 3.4 进行了核对并放入了 3.6.2,并且重新下载了 pyserial,工作正常。全新安装 3.6.2 和 pyserial 3.4 即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 2011-06-10
      • 1970-01-01
      • 2013-01-19
      • 2012-05-25
      相关资源
      最近更新 更多