【问题标题】:How to convert bytes string to integer values? [duplicate]如何将字节字符串转换为整数值? [复制]
【发布时间】:2020-10-24 20:10:36
【问题描述】:

我正在开展一个项目,在该项目中,我将一个 base64 编码图像从我的应用程序发送到进行处理的服务器。服务端收到的图片是这样的: (这个数据很大)

b'\xff\xd8\xff\xe1\x02;Exif\x00\x00MM\x00*\x00\.....' 

所以,现在我想把它转换成这种格式: [255, 234, 70, 115, ....]。

【问题讨论】:

  • 这能回答你的问题吗? How to convert a string of bytes into an int?
  • 你试过list(img_data)吗?根据您对“巨大”的定义(即,如果它实际上不适合内存),您可能想要改为 for c in iter(img_data)
  • @JordanDimov 是的,不知道会这么简单:),谢谢

标签: python


【解决方案1】:

只需将列表构造函数扔给它。

>>> list(b'\xff\xd8\xff\xe1')
[255, 216, 255, 225]

【讨论】:

    【解决方案2】:

    假设您使用 Python3,遍历字节字符串实际上会给您单独的值作为 int 类型:

    >>> s = b'\xff\xd8\xff\xe1\x02'
    >>> for c in s:
    ...     print(c, type(c))
    ... 
    255 <class 'int'>
    216 <class 'int'>
    255 <class 'int'>
    225 <class 'int'>
    2 <class 'int'>
    

    【讨论】:

      猜你喜欢
      • 2011-03-25
      • 2012-04-07
      • 2022-08-05
      • 2021-11-17
      • 2013-07-23
      • 2012-04-30
      • 2014-10-31
      • 2012-04-30
      相关资源
      最近更新 更多