Python新手。我想将一个char数组转换为字节缓冲区,即有没有办法将字符串或二进制数据转换为字节缓冲区。
例如:如果str = 'apple'
我需要缓冲区= 'apple'
的字节值,我可以访问buffer[i]
和buffer[:j]
如果我使用map(ord,'apple')
这会返回一个列表,但我需要一个连续缓冲区。我如何在Python中获得这个?
UPDATE 1:我还需要字节,因为今天它可能是字符串,但明天我可能正在处理文件。
UPDATE 0:我希望以字节为单位。我可以使用@ignacio建议的字符串,但字符串就不会这样做。因为最终这将进入我的滚动哈希
的实现答案 0 :(得分:3)
试试bytearray。这将把源字符串转换为byte数组。如果default encoding不是当前的默认字符串编码,则需要指定一个可选的编码参数。
实施例
>>> s = 'apple'
>>> arr=bytearray(s)
>>> [x for x in arr]
[97, 112, 112, 108, 101]
>>> type(arr)
<type 'bytearray'>
>>>
答案 1 :(得分:0)
您可以在python中使用struct
模块。
struct模块包括用于在字符串之间进行转换的函数 字节和本机Python数据类型,如数字和字符串。