簡體   English   中英

Python3中的編碼字節

[英]Encoding Bytes in Python3

哪種類型的編解碼器最適合對二進制文件進行編碼,然后將哪些文件上傳到用Python 3寫的應用程序中?

我知道這是一個遲來的答案,問題還不完全清楚,但是如果您需要對要保存在某個地方的字節串進行編碼,並且由於某種原因不能簡單地保存二進制數據,則應該對字符串進行編碼使用base64模塊。 例如,假設您有一長串字節(在這種情況下,是使用os.urandom(100)生成的:

import base64
import os
some_bytes = os.urandom(100)
print(repr(some_bytes))

some_bytes_base64 = base64.standard_b64encode(some_bytes).decode()
print(some_bytes_base64)

這將打印如下內容:

b'\xd3\xa3\x0eT/L\xc6\x88\x98\xd0i\xbaa\xb2\x18\x1bx\xde\xf6Zq\xbe\xd9\xb4D\x19\x14\x91Z}wg?\x90\xd7f\xca\x1bxX\xa8\x99\xe6\xbb\xe0\x80\xa3\xc4\xb8\x1f\xfcp\xbc\x8d:/\xcfk\x01\xee\xc1\xde\xdc\xc3\xfa\x0e|7\x8eYt\xd1\x0b\x8a\x89\x9c^\xcf\xbc\\\x00_\x89dyb\x13\xa8\xdb\xba\xe3\x85X\x8d\x1a\x8bz\xe5\xfb\r'

06MOVC9MxoiY0Gm6YbIYG3je9lpxvtm0RBkUkVp9d2c/kNdmyht4WKiZ5rvggKPEuB/8cLyNOi/PawHuwd7cw/oOfDeOWXTRC4qJnF7PvFwAX4lkeWITqNu644VYjRqLeuX7DQ==

如您所見,字符串已正確編碼。 base64.standard_b64encode decode()方法將base64.standard_b64encode通常返回的字節文字轉換為標准字符串。 在我看來, 這個答案很好地描述了字節字面量

這應該使您可以毫無問題地傳輸文件,字節序列等。 (畢竟,那不是Base64 encoding用於的嗎?)

暫無
暫無

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

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