簡體   English   中英

如何將存儲在變量中的Python字符串轉換為字節序列?

[英]How do I turn a Python string stored in a variable into a byte sequence?

很簡單,我知道,但文檔並沒有太大幫助。 我正在嘗試哈希一個簡單的字符串。 我正在遵循這個指南。 其中給出的例子是:

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

然后你有一個哈希表示。 假設我想更進一步。 我有四個字符串要連接在一起,其結果需要轉換為字節序列,以便傳遞給hashlib.md5()函數。 但是,我很好奇我如何使用變量而不是硬編碼字符串來復制b'Hello World'語法。 文檔似乎建議您可以將格式傳遞給內置格式函數,因此對於我的用例,例如:

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')

你也可以使用bytes(my_string, 'utf-8')代替my_string.encode('utf-8') bytes(my_string, 'utf-8') ,它們是等價的。 如果您願意,也可以使用不同的編碼,但UTF-8通常是一個不錯的選擇,因為它能夠表示任何代碼點(字符)並且相當緊湊,特別是對於ASCII數據。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM