我知道很简单,但是文档并不太有用。我正在尝试哈希一个简单的字符串。我正在遵循this指南。其中给出的示例是:

import hashlib
hash_object = hashlib.md5(b'Hello World')
print(hash_object.hexdigest())


然后,您具有哈希表示形式。假设我想更进一步。我有四个要连接在一起的字符串,其结果需要转换为字节序列,才能传递给hashlib.md5()函数。但是,我很好奇如何使用变量而不是硬编码字符串来复制b'Hello World'语法。文档似乎建议您可以将格式传递给内置的format函数,因此对于我的用例,如下所示:

my_string = '%s%s%s%s' % (first, second, third, fourth)
byte_string = format(my_string, 'b')


但是,这不太有效。我该怎么做呢?

最佳答案

Python中的字符串是一个字符序列,用于将字符串转换为使用某些字符集对其进行编码的字节序列。例如:

my_string = '%s%s%s%s' % (first, second, third, fourth)
byte_string = my_string.encode('utf-8')


您也可以使用my_string.encode('utf-8')代替bytes(my_string, 'utf-8'),它们是等效的。如果愿意,还可以使用其他编码,但是UTF-8通常是一个不错的选择,因为它可以表示任何代码点(字符),并且非常紧凑,尤其是对于ASCII数据。

关于python - 如何将存储在变量中的Python字符串转换为字节序列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18197374/

10-14 18:19
查看更多