【问题标题】:python2 - read bytes as signed chars from filepython2 - 从文件中读取字节作为有符号字符
【发布时间】:2019-11-26 17:27:55
【问题描述】:

我希望从文件中读取字节作为带符号的字符! 例如输入文件内容如下(16字节):

f5 00 b7 47 16 00 14 09 1c 17 5d 6c d9 c8 f3 eb

我希望输出是(16 个有符号字符):

-11 0 -73 71 22 0 20 9 28 23 93 108 -39 -56 -13 -21 

文件读取api返回一个字符串对象。我需要一个如上的列表。

【问题讨论】:

  • 提醒一下,python 2.7 的生命周期结束日期为 2020 年 1 月 1 日。很抱歉,我无法回答您的问题,但我想鼓励您转向 python 3

标签: python python-2.7 binary hex


【解决方案1】:

我怀疑有更好的方法,但这行得通

>>> import binascii, struct
>>> s = 'f5 00 b7 47 16 00 14 09 1c 17 5d 6c d9 c8 f3 eb'
>>> bs = s.replace(' ', '')
>>> struct.unpack(len(bs) / 2 * 'b', binascii.unhexlify(bs))
(-11, 0, -73, 71, 22, 0, 20, 9, 28, 23, 93, 108, -39, -56, -13, -21)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    相关资源
    最近更新 更多