簡體   English   中英

將二進制字符串轉換為字節

[英]Convert binary string to bytes

我有一個由字節值 0-255 組成的字符串。 我需要將其轉換為字節數組。 我不想將范圍 128-255 轉換為 utf-8 - 事實上,字符串已經以 utf-8 編碼。

我該如何解決令人沮喪的“不在 0-128 范圍內”錯誤?

>>> string.encode('ascii')
'ascii' codec can't encode character '\xff' in position 0: ordinal not in range(128)
>>> bytearray(string, 'ascii')
'ascii' codec can't encode character '\xff' in position 0: ordinal not in range(128)

latin-1編解碼器(又名latin_1iso-8859-1iso8859-18859cp819latinlatin1L1是一種 1 對 1 編碼,將每個 Unicode 序號從 0 到 255 編碼為等效字節價值 假設您的字符串不包含 255 以上的序數,它應該適合您的目的。

以下代碼適用於我並創建一個字節數組:

In [1]: import array

In [2]: string="ABCDą"

In [3]: array.array('B',string.encode('utf-8'))
Out[3]: array('B', [65, 66, 67, 68, 196, 133])

暫無
暫無

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

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