将字节存储在文本文件中

时间:2018-06-12 04:38:34

标签: python python-3.x byte

我必须通过USB端口读取UART设备,并将传入的字节存储在.txt文件中。

我使用以下命令:

while 1:
    x=ser.read()
    f.write(str(x))    #f is the file object

但是,这会将一些bytes转换为相应的ascii个字符并存储一些

示例:

  

b'\x55'存储为b'U'

     

但是,b'\xaa'存储为字符串本身(即b'\xaa')。

如果我使用chr(int.from_bytes()),则会出现以下错误:

UnicodeEncodeError: 'cp932' codec can't encode character '\xaa' in position 0: illegal multibyte sequence

是否有一种方法可以将所有传入的字节存储为字节而不将某些字符转换为ascii字符(例如:b'\x55'存储为字符串b'\x55'而不是{{1} }),因为这会在我进一步处理数据时导致问题。

我在64位Windows 10上使用python-3.7

1 个答案:

答案 0 :(得分:0)

尝试以下链接:https://www.devdungeon.com/content/working-binary-data-python以及Python writing binary

with open("outfile.txt", "br+") as outfile:
   outfile.write(ser.read())