Heim Backend-Entwicklung Python-Tutorial Wie kann der Fehler behoben werden, wenn Python 2.7 chinesische Zeichenfolgen ausgibt?

Wie kann der Fehler behoben werden, wenn Python 2.7 chinesische Zeichenfolgen ausgibt?

Jun 28, 2017 pm 03:57 PM
中文 字符

Kodierungsproblem, wenn Python 2.7 chinesische Zeichenfolgen ausgibt

Warum erscheint der Fehler „UnicodeEncodeError: ‚ASCII‘-Codec kann Zeichen in Position 0-1 nicht kodieren: Ordinalzahl nicht im Bereich (128)“? In diesem Artikel wird dieses Problem untersucht.

Die interne Darstellung von Zeichenfolgen in Python ist die Unicode-Codierung. Daher ist es bei der Codierungskonvertierung normalerweise erforderlich, Unicode als Zwischencodierung zu verwenden, dh zuerst Zeichenfolgen in anderen Codierungen in Unicode zu decodieren . und kodieren Sie dann von Unicode in eine andere Kodierung.

Die Funktion der Dekodierung besteht darin, andere kodierte Zeichenfolgen in Unicode-Kodierung umzuwandeln, z. B. str1.decode('gb2312'), was bedeutet, dass die gb2312-kodierte Zeichenfolge str1 in Unicode-Kodierung konvertiert wird.

Die Funktion von Encode besteht darin, die Unicode-Codierung in andere codierte Zeichenfolgen umzuwandeln, z. B. str2.encode('gb2312'), was bedeutet, dass die Unicode-codierte Zeichenfolge str2 in die GB2312-Codierung konvertiert wird.

Daher müssen Sie beim Transkodieren zunächst verstehen, welche Codierung die Zeichenfolge str hat, sie dann in Unicode decodieren und dann in andere Codierungen codieren

Die Standardcodierung der Zeichenfolge im Code ist dasselbe wie Die Codierung der Codedatei selbst ist konsistent.

Zum Beispiel: s='Chinese'

Wenn es sich um eine utf8-Datei handelt, ist die Zeichenfolge utf8-codiert. Wenn es sich um eine gb2312-Datei handelt, ist die Codierung gb2312. In diesem Fall müssen Sie zum Durchführen der Kodierungskonvertierung zunächst die Dekodierungsmethode verwenden, um sie in die Unicode-Kodierung zu konvertieren, und dann die Kodierungsmethode verwenden, um sie in andere Kodierungen zu konvertieren. Wenn keine bestimmte Kodierungsmethode angegeben ist, wird normalerweise die Codedatei verwendet, die mit der Standardkodierung des Systems erstellt wurde.

Wenn die Zeichenfolge wie folgt definiert ist: s=u'Chinese'

Die Kodierung der Zeichenfolge wird als Unicode angegeben, was die interne Kodierung von Python ist und sich von der Codedatei selbst unterscheidet . Codierung hat damit nichts zu tun. Daher müssen Sie in diesem Fall für die Codierungskonvertierung nur die Codierungsmethode direkt verwenden, um sie in die angegebene Codierung zu konvertieren.

Wenn eine Zeichenfolge bereits Unicode ist, tritt beim Dekodieren ein Fehler auf. Daher muss normalerweise beurteilt werden, ob die Kodierungsmethode Unicode ist:

isinstance(s, unicode) #Used Bestimmen ob es Unicode ist

Bei Verwendung von Nicht-Unicode-Codierung str zum Codieren wird ein Fehler gemeldet

Wie erhalte ich die Standardcodierung des Systems?

#!/usr/bin/env python
#coding=utf-8
import sys
print sys.getdefaultencoding()
Nach dem Login kopieren

Die Ausgabe dieses Programms unter englischem Windows. Die Ausgabekonsole selbst kann die Codierung der Zeichenfolge nicht anzeigen und es ist kein Problem mit dem Programm selbst.

Wenn Sie den folgenden Code in UliPad ausführen:

wird folgende Meldung angezeigt: UnicodeEncodeError: „ascii“-Codec kann Zeichen an Position 0-1 nicht kodieren: Ordnungszahl nicht im Bereich( 128). Dies liegt daran, dass das Konsoleninformationsausgabefenster von UliPad unter englischem Windows angezeigt wird
s=u"中文"
print s
Nach dem Login kopieren

Ändern Sie den letzten Satz in: print s.encode('gb2312')

Das Wort „Chinesisch“ kann korrekt ausgegeben werden.

Wenn der letzte Satz geändert wird in: print s.encode('utf8')

, dann ist die Ausgabe: xe4xb8xadxe6x96x87. Dies ist das Ergebnis der Ausgabe des Konsoleninformationsfensters, das utf8 ausgibt -kodierte Zeichenfolge gemäß ASCII-Kodierung.

unicode(str,'gb2312') und str.decode('gb2312') sind gleich, beide konvertieren gb2312-codierten str in Unicode-Codierung

Verwenden Sie str.__class__ Überprüfen Sie die Codierungsform of str

Nachdem wir lange über das Prinzip gesprochen haben, lasst uns endlich ein Allheilmittel finden:)

#!/usr/bin/env python #coding=utf-8 s="中文" if isinstance(s, unicode): #s=u"中文" print s.encode('gb2312') else: #s="中文" print s.decode('utf-8').encode('gb2312')
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann der Fehler behoben werden, wenn Python 2.7 chinesische Zeichenfolgen ausgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So stellen Sie Chinesisch im Handyspiel Call of Duty: Warzone ein So stellen Sie Chinesisch im Handyspiel Call of Duty: Warzone ein Mar 22, 2024 am 08:41 AM

Call of Duty Warzone ist ein neu eingeführtes Handyspiel. Viele Spieler sind sehr neugierig, wie sie die Sprache dieses Spiels auf Chinesisch einstellen können. Tatsächlich ist es sehr einfach, das chinesische Sprachpaket herunterzuladen Den detaillierten Inhalt erfahren Sie in dieser Einführung in die chinesische Einstellungsmethode. So stellen Sie die chinesische Sprache für das Handyspiel Call of Duty: Warzone ein 1. Rufen Sie zunächst das Spiel auf und klicken Sie auf das Einstellungssymbol in der oberen rechten Ecke der Benutzeroberfläche. 2. Suchen Sie in der angezeigten Menüleiste die Option [Herunterladen] und klicken Sie darauf. 3. Wählen Sie auf dieser Seite [SIMPLIFIEDCHINESE] (vereinfachtes Chinesisch), um das Installationspaket für vereinfachtes Chinesisch herunterzuladen. 4. Kehren Sie zu den Einstellungen zurück

Einrichten von Chinesisch mit VSCode: Die vollständige Anleitung Einrichten von Chinesisch mit VSCode: Die vollständige Anleitung Mar 25, 2024 am 11:18 AM

VSCode-Setup auf Chinesisch: Eine vollständige Anleitung In der Softwareentwicklung ist Visual Studio Code (kurz VSCode) eine häufig verwendete integrierte Entwicklungsumgebung. Für Entwickler, die Chinesisch verwenden, kann die Einstellung von VSCode auf die chinesische Schnittstelle die Arbeitseffizienz verbessern. In diesem Artikel erhalten Sie eine vollständige Anleitung, die detailliert beschreibt, wie Sie VSCode auf eine chinesische Schnittstelle einstellen, und spezifische Codebeispiele bereitstellt. Schritt 1: Laden Sie das Sprachpaket herunter und installieren Sie es. Klicken Sie nach dem Öffnen von VSCode auf links

Wie stelle ich eine Excel-Tabelle so ein, dass Chinesisch angezeigt wird? Tutorial zum Wechseln der chinesischen Bedienung in Excel Wie stelle ich eine Excel-Tabelle so ein, dass Chinesisch angezeigt wird? Tutorial zum Wechseln der chinesischen Bedienung in Excel Mar 14, 2024 pm 03:28 PM

Excel-Tabelle ist eine der Office-Software, die viele Benutzer verwenden, da ihr Computer ein Win11-System ist und daher die englische Benutzeroberfläche angezeigt wird. Sie möchten auf die chinesische Benutzeroberfläche umsteigen, wissen aber nicht, wie man sie bedient Um dieses Problem zu lösen, ist der Herausgeber hier, um die Fragen aller Benutzer zu beantworten. Werfen wir einen Blick auf den Inhalt des heutigen Software-Tutorials. Anleitung zum Umstellen von Excel auf Chinesisch: 1. Rufen Sie die Software auf und klicken Sie links in der Symbolleiste oben auf der Seite auf die Option „Datei“. 2. Wählen Sie „Optionen“ aus den unten aufgeführten Optionen. 3. Nachdem Sie die neue Benutzeroberfläche aufgerufen haben, klicken Sie links auf die Option „Sprache“.

So stellen Sie chinesische Schriftzeichen in PHP Dompdf korrekt dar So stellen Sie chinesische Schriftzeichen in PHP Dompdf korrekt dar Mar 05, 2024 pm 01:03 PM

So zeigen Sie chinesische Schriftzeichen in PHPDompdf korrekt an. Wenn Sie PHPDompdf zum Generieren von PDF-Dateien verwenden, besteht häufig die Herausforderung, dass das Problem verstümmelter chinesischer Schriftzeichen auftritt. Dies liegt daran, dass die von Dompdf standardmäßig verwendete Schriftartenbibliothek keine chinesischen Zeichensätze enthält. Um chinesische Schriftzeichen korrekt anzuzeigen, müssen wir die Schriftart von Dompdf manuell festlegen und sicherstellen, dass eine Schriftart ausgewählt wird, die chinesische Schriftzeichen unterstützt. Hier sind einige spezifische Schritte und Codebeispiele, um dieses Problem zu lösen: Schritt 1: Laden Sie die chinesische Schriftartdatei herunter. Zuerst benötigen wir

Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHP Dompdf zu korrigieren Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHP Dompdf zu korrigieren Mar 05, 2024 pm 04:45 PM

Titel: Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHPDompdf zu reparieren. Bei der Verwendung von PHPDompdf zum Generieren von PDF-Dokumenten sind verstümmelte chinesische Zeichen ein häufiges Problem. Dieses Problem ist in der Regel darauf zurückzuführen, dass Dompdf standardmäßig keine chinesischen Zeichensätze unterstützt, was dazu führt, dass chinesische Inhalte nicht korrekt angezeigt werden. Um dieses Problem zu lösen, müssen wir einige effektive Wege finden, um das chinesische verstümmelte Problem von PHPDompdf zu beheben. 1. Verwenden Sie benutzerdefinierte Schriftartdateien, um das Problem verstümmelter chinesischer Zeichen in Dompdf zu lösen

Wird wwe2k24 Chinesisch haben? Wird wwe2k24 Chinesisch haben? Mar 13, 2024 pm 04:40 PM

„WWE2K24“ ist ein von Visual Concepts entwickeltes Rennsportspiel, das am 9. März 2024 offiziell veröffentlicht wurde. Dieses Spiel wurde hoch gelobt und viele Spieler sind gespannt, ob es eine chinesische Version geben wird. Leider hat „WWE2K24“ bisher noch keine chinesische Sprachversion veröffentlicht. Wird wwe2k24 auf Chinesisch sein? Antwort: Chinesisch wird derzeit nicht unterstützt. Die Standardversion von WWE2K24 in der chinesischen Steam-Region kostet 199 Yuan, die Deluxe-Version 329 Yuan und die Gedenkausgabe 395 Yuan. Das Spiel stellt relativ hohe Konfigurationsanforderungen und es gibt bestimmte Standards in Bezug auf Prozessor, Grafikkarte oder laufenden Speicher. Offizielle empfohlene Konfiguration und Einführung in die Mindestkonfiguration:

So stellen Sie die Sprache von Windows 7 auf Chinesisch ein So stellen Sie die Sprache von Windows 7 auf Chinesisch ein Dec 21, 2023 pm 10:07 PM

Einige Freunde stellen es bei der Installation des Systems möglicherweise versehentlich auf Englisch ein. Dadurch werden alle Schnittstellen auf Englisch geändert und sind nicht verständlich. Tatsächlich können wir die Sprache in der Systemsteuerung einstellen und auf Chinesisch ändern. Schauen wir uns an, wie man sie ändert. So ändern Sie die Sprache in Win7 auf Chinesisch 1. Klicken Sie zuerst auf die Schaltfläche in der unteren linken Ecke des Bildschirms und wählen Sie dann „Systemsteuerung“ 2. Suchen Sie unter „Uhr, Sprache und Region“ nach „Changedispalysprache“ 3. Klicken Sie auf „ „Englisch“ unten, um aus dem Dropdown-Menü Vereinfachtes Chinesisch auszuwählen. 4. Klicken Sie nach der Bestätigung auf „Jetzt abmelden“, um sich abzumelden und den Computer neu zu starten. 5. Nach der Rückkehr

Tipps zum Lösen verstümmelter chinesischer Zeichen beim Schreiben von TXT-Dateien mit PHP Tipps zum Lösen verstümmelter chinesischer Zeichen beim Schreiben von TXT-Dateien mit PHP Mar 27, 2024 pm 01:18 PM

Tipps zum Lösen chinesischer verstümmelter Zeichen, die von PHP in TXT-Dateien geschrieben wurden. Mit der rasanten Entwicklung des Internets wird PHP als weit verbreitete Programmiersprache von immer mehr Entwicklern verwendet. Bei der PHP-Entwicklung ist es häufig erforderlich, Textdateien zu lesen und zu schreiben, einschließlich TXT-Dateien, die chinesische Inhalte schreiben. Aufgrund von Problemen mit dem Codierungsformat erscheint die chinesische Schrift jedoch manchmal verstümmelt. In diesem Artikel werden einige Techniken zur Lösung des Problems chinesischer verstümmelter Zeichen, die von PHP in TXT-Dateien geschrieben werden, vorgestellt und spezifische Codebeispiele bereitgestellt. Problemanalyse in PHP, Text

See all articles