藏猊 2022-05-05 14:35 采纳率: 57.1%
浏览 151
已结题

python 二进制数转成数字

读取到一串二进制数但不知道怎么转换.

a = b'\xe5\x8f\x00m\x05\xceA5\xd2\x86A\xd6\xa8\xc7=\x00\x00\x00\x00\n'

尝试了一下

for i in ['big5', 'big5hkscs', 'cp037', 'cp273', 'gb2312', 'gbk', 'gb18030', 'utf_32', 'utf_32_be', 'utf_32_le',
          'utf_16', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8', 'utf_8_sig','ascii','']:
    try:
        print(a.decode(i))
        print(i)
    except:
        continue

解出来的都是乱码
正常应该是一串小数

img


像是这样

  • 写回答

2条回答 默认 最新

  • 藏猊 2022-05-06 15:23
    关注

    这样转

    b = int.from_bytes(a, byteorder=sys.byteorder)#bytesint
    c = bin(b) #int转binary格式str
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 5月5日