【问题标题】:Unsigned byte array in pythonpython中的无符号字节数组
【发布时间】:2020-03-12 08:09:01
【问题描述】:

我一直在寻找如何将python中的string转换为有符号和无符号字节的数组,并再次将字节数组反转为字符串。

例如:

s = "sample data"  # for example any string

bytearray = [8, 28, 61, 26, 124, -4, -27, 87, -99, -13, 94, 115, 23, 85, -5, 123, 52, 93, -127, 75, 79, -100, -75, 126, -51, 45, 91, 46, -114, -66, -18, -26, -123, 34, -110, -60, 39, 100, 109, -95, -8, 29, -20, 13, -22, -116, 86, -27, 97, -56, -115, 28, 68, 8, 50, 63, 105, 77, 68, -86, 63, -8, 59, -59, 91, 48, 2, 82, 65, 118, -107, -88, 49, 65, 5, -27, -16, -61, 8, 47, 76, -110, -46, 71, 80, 70, 108, -115, -101, 29, -32, -34, 100, -101, -108, -42, 76, -56, -45, 39, 25, 59, 45, 17]
# should give array of signed and unsigned bytes

【问题讨论】:

  • 为什么字符串(比如 ASCII 或 UTF-8 编码)会产生负数? (我认为字节在定义上是无符号的。)
  • 您的“示例数据”字符串与您的示例 bytearray 有何关系?
  • 这能回答你的问题吗? Python: convert string to byte array
  • 为什么你的问题标题提到“无符号字节数组”,而实际文本提到“有符号和无符号字节”?是哪一个?
  • StackOverflow 不是代码编写服务。请通读Help Center,特别是How do I ask a good question? 如果您遇到特定问题,请彻底研究,在这里彻底搜索,如果您仍然卡住,请发布您的代码和问题描述。另外,请记住包括Minimum, Complete, Verifiable Example。人们会很乐意提供帮助

标签: python arrays unsigned


【解决方案1】:

Python 本身没有字节,并且它的“字节”总是无符号的,因为它们是介于 0 和 255 之间的 int

如果您想要“有符号字节”,您需要使用structarray 模块(类型代码b)显式请求此类解析。

【讨论】:

    猜你喜欢
    • 2017-12-03
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多