如何解码 python 中的 DAT 文件?

How to decode a DAT file in python?

我正在尝试从 DAT 文件中读取字节。我知道数据应该是二进制或十六进制。但是当我尝试读取字节时,它会打印出奇怪的符号。我假设它们是 ascii 值。我尝试转换它们,但我不断收到 'str' 无法转换的错误消息。有谁知道我如何解码它? read() 是用于此的正确函数吗?

import time
import binascii
import csv
import serial

with open('Example CARESCAPE Datalog.dat') as binary_file:
    for num in range(1,10):
        data = binary_file.readline()
        print(data)

Here is the link to a screenshot of the weird symbols I get

如果您的 .dat 文件不是文本文件,您应该使用 'rb'(根据 Python docs)将其作为二进制文件打开:

with open('Example CARESCAPE Datalog.dat', 'rb') as binary_file:

您必须自己解码字节:

注: 以二进制模式打开的文件(包括模式参数中的 'rb')return 内容作为字节对象,没有任何解码。