Python中C#的GetEncoding(“ 28591”)等效项是什么?

时间:2018-09-30 12:14:09

标签: c# python python-3.x serial-port

我想从COM6获取设备代码,我可以使用以下代码轻松地从C#获取输出:

serialPort1.Encoding = System.Text.Encoding.GetEncoding(28591);

但是我不知道如何在Python中做到这一点。

我已经尝试过:

import serial
import time
ser = serial.Serial()
ser.port='COM6'
ser.baudrate=9600
ser.parity=serial.PARITY_NONE
ser.stopbits=serial.STOPBITS_ONE
ser.bytesize=serial.EIGHTBITS
ser.timeout=2

if ser.is_open:
    ser.close()
else:
    ser.open()
print("connected to: " + ser.portstr)


while True:
    ser.flushInput()
    time.sleep(0.01)
    data_raw = (ser.readline())
    print(data_raw.decode("utf-8"))

1 个答案:

答案 0 :(得分:1)

您可以使用pythonnet访问.Net库。当我运行以下代码时,我得到System.Text.Latin1Encoding

import clr

from System import Text

result = Text.Encoding.GetEncoding(28591)
print(result)

更多内容-https://github.com/pythonnet/pythonnet