如何解码 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 内容作为字节对象,没有任何解码。
我正在尝试从 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 内容作为字节对象,没有任何解码。