【发布时间】:2015-09-23 13:01:52
【问题描述】:
我正在尝试在 Python 中组装一个字节数组以获得类似于以下内容的签名:
- 4 个字节,表示字符串 A 的长度,以字节为单位。
- 字符串 A
- 4 个字节,表示字符串 B 的长度,以字节为单位。
- 字符串 B
- 4 个字节,表示 Long A 值的长度(以字节为单位)。
- 龙阿
字符串 A + B 是 utf-8,我使用 unicode(string, 'utf-8') 将其转换为 utf-8
我尝试将每个项目转换为字节数组并使用加号将它们连接起来,例如
bytearray(len(a)) + bytearray(a, "utf-8")...
我也尝试过使用 struct.pack,例如
struct.pack("i", len(a)) + bytearray(access_token, "utf-8")...
但似乎没有任何东西可以生成有效的签名。这是在Python中制作上述字节数组的正确方法吗?
【问题讨论】:
-
你怎么知道签名无效?
-
请发布一些示例数据。
-
FWIW,
unicode(some_string, 'utf-8')将字节字符串some_string转换为 Unicode 字符串。'utf-8'参数表示源字符串以 utf-8 编码。 -
您还应该提及这些长度值是否需要格式化为大端或小端。我认为这是针对某些网络事物,因此您可能需要大端序,但明确一点是很好的。 :)