首頁 > 後端開發 > Python教學 > 如何解決壓縮文字時出現 TypeError: \'str\' 不支援 Python 3 中的緩衝區介面?

如何解決壓縮文字時出現 TypeError: \'str\' 不支援 Python 3 中的緩衝區介面?

DDD
發布: 2024-11-26 12:06:12
原創
708 人瀏覽過

How to Resolve TypeError: 'str' Does Not Support the Buffer Interface in Python 3 When Compressing Text?

TypeError: 'str' 不支援緩衝區介面

使用Python3,由於字串的不同處理,您可能會遇到此錯誤與Python2相比。要解決此問題,必須將字串編碼為位元組。

plaintext = input("Please enter the text you want to compress")
filename = input("Please enter the desired filename")
with gzip.open(filename + ".gz", "wb") as outfile:
    outfile.write(bytes(plaintext, 'UTF-8'))
登入後複製

在 Python3 中,字串與 Python2 中的字串不同,需要使用 bytes() 函數。此外,請考慮避免使用“字串”或“檔案”等變數名稱,因為它們已經定義為函數或模組。

對於全面的文本壓縮,包括非 ASCII 字符,提供的代碼利用 UTF-8 編碼來確保波蘭語字母的完整性。

plaintext = 'Polish text: ąćęłńóśźżĄĆĘŁŃÓŚŹŻ'
filename = 'foo.gz'
with gzip.open(filename, 'wb') as outfile:
    outfile.write(bytes(plaintext, 'UTF-8'))
with gzip.open(filename, 'r') as infile:
    outfile_content = infile.read().decode('UTF-8')
print(outfile_content)
登入後複製

以上是如何解決壓縮文字時出現 TypeError: 'str' 不支援 Python 3 中的緩衝區介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板