"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > TypeError: 'str' ne prend pas en charge l'interface tampon lors de la compression du texte dans Python 3

TypeError: 'str' ne prend pas en charge l'interface tampon lors de la compression du texte dans Python 3

Publié le 2025-04-13
Parcourir:844

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

typeError: 'str' ne prend pas en charge l'interface de tampon

en utilisant python3, vous pouvez rencontrer cette erreur en raison de la gestion distincte des chaînes par rapport à Python2. Pour résoudre ce problème, vous devez encoder la chaîne en octets.

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'))

Dans Python3, les chaînes ne sont pas identiques à celles de Python2, nécessitant l'utilisation de la fonction bytes (). De plus, envisagez d'éviter les noms de variables comme "String" ou "Fichier" car ils sont déjà définis comme des fonctions ou des modules.

pour une compression de texte complète, y compris les caractères non ASCII, le code fourni utilise un encodage UTF-8 pour assurer l'intégrité des lettres polonaises.

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)
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3