![](/img/trans.png)
[英]Binary data gets written as string literal - how to convert it back to bytes?
[英]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_1
、 iso-8859-1
、 iso8859-1
、 8859
、 cp819
、 latin
、 latin1
和L1
) 是一種 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.