當遇到錯誤「TypeError: 'str' 不支援緩衝區接口」時,您有兩個選項將字串轉換為位元組:
選擇更Pythonic的方法
選擇更Pythonic的方法
bytearray([source[, encoding[, errors]]])
bytes 類型的Python 文件建議使用bytearray 作為從 a初始化位元組數組的首選方法string:
考慮到這一點,由於位元組可以執行編碼字串之外的各種任務,因此構造函數接受不同類型的來源參數是有意義的。
後者缺乏明確的動詞,並且更少清楚它的功能。
此外,unicode_string.encode(encoding) 也更 Pythonic,因為它逆是byte_string.decode(encoding),保持對稱性。
使用CPython優化效能
如果使用CPython,將unicode字串傳遞給bytes直接呼叫PyUnicode_AsEncodedString,即編碼的底層實作。因此,自己調用編碼可以消除不必要的間接級別,並有可能提高效能。以上是如何在Python 3中有效率地將字串轉換為位元組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!