天天看点

python读取二进制文件 \xff\xfe \xef\xbb\xbf

读取二进制文件编码是一个比较麻烦的事情

我们在decode二进制文件时,是需要知道编码格式的,除了常见的utf-8,还有UCS-2-Little Endian(

utf-16-le

)和UTF-8-BOM(

utf-8-sig

)

如下是UCS-2-Little Endian的二进制文件前缀

python读取二进制文件 \xff\xfe \xef\xbb\xbf

如下是UTF-8-BOM的二进制文件前缀

python读取二进制文件 \xff\xfe \xef\xbb\xbf

做个判断,确定decode解码格式

if b'\xff\xfe'in res['bdata']:
    print('UCS-2-Little Endian')
    s = res['bdata'].decode("utf-16-le")
if b'\xef\xbb\xbf'in res['bdata']:
    print('UTF-8-BOM')
    s = res['bdata'].decode("utf-8-sig")