Heim Backend-Entwicklung Python-Tutorial Eine kurze Einführung in Probleme mit der String-Kodierung in der Python-Programmierung

Eine kurze Einführung in Probleme mit der String-Kodierung in der Python-Programmierung

Aug 23, 2018 pm 05:47 PM

Dieser Artikel stellt die String-Programmierung in Python vor Wir haben bereits gesagt, dass String auch ein Datentyp ist, aber Zeichen Was ist das Besondere? bezüglich der Zeichenfolge ist, dass ein Codierungsproblem vorliegt.

Da Computer nur Zahlen verarbeiten können, müssen Sie, wenn Sie Text verarbeiten möchten, den Text vor der Verarbeitung zunächst in Zahlen umwandeln. Die ersten Computer wurden mit 8 Bits als Byte entwickelt. Daher ist die größte Ganzzahl, die durch ein Byte dargestellt werden kann, 255 (binär 11111111 = dezimal 255). Wenn Sie eine größere Ganzzahl darstellen möchten, müssen Sie mehr Bytes verwenden. Beispielsweise ist die maximale Ganzzahl, die durch zwei Bytes dargestellt werden kann, 65535, und die maximale Ganzzahl, die durch 4 Bytes dargestellt werden kann, ist 4294967295.

Da der Computer von Amerikanern erfunden wurde, wurden zunächst nur 127 Zeichen in den Computer codiert, bei denen es sich um englische Groß- und Kleinbuchstaben, Zahlen und einige Symbole handelt. Diese Codierungstabelle wird als ASCII-Codierung bezeichnet, z. B. die Großbuchstaben The Der Code für den Buchstaben A ist 65 und der Code für den Kleinbuchstaben z ist 122.

Aber um Chinesisch zu verarbeiten, reicht ein Byte offensichtlich nicht aus, und es kann nicht zu Konflikten mit der ASCII-Codierung kommen. Daher hat China die GB2312-Codierung zur Codierung von Chinesisch formuliert.

Was Sie sich vorstellen können, ist, dass es Hunderte von Sprachen auf der Welt gibt, die Japanisch in Shift_JIS kompiliert haben, und Südkorea hat Koreanisch in Euc-kr kompiliert. und es wird unweigerlich zu Konflikten kommen, dass in mehrsprachigen gemischten Texten verstümmelte Zeichen angezeigt werden.

So entstand Unicode. Unicode vereint alle Sprachen in einer Reihe von Codierungen, sodass es keine verstümmelten Zeichen mehr gibt.

Der Unicode-Standard entwickelt sich ebenfalls ständig weiter, aber der am häufigsten verwendete Standard ist die Verwendung von zwei Bytes zur Darstellung eines Zeichens (wenn Sie sehr seltene Zeichen verwenden möchten, benötigen Sie 4 Bytes). Moderne Betriebssysteme und die meisten Programmiersprachen unterstützen Unicode direkt.

Werfen wir nun einen Blick auf den Unterschied zwischen ASCII-Kodierung und Unicode-Kodierung: Die ASCII-Kodierung beträgt 1 Byte, während die Unicode-Kodierung normalerweise 2 Bytes beträgt.

Der in ASCII codierte Buchstabe A ist dezimal 65, binär 01000001;

Das in ASCII codierte Zeichen 0 ist dezimal 48, binär 00110000. Beachten Sie, dass sich das Zeichen „0“ von der Ganzzahl unterscheidet 0 ;

Chinesische Zeichen haben den Bereich der ASCII-Kodierung überschritten. Die Unicode-Kodierung ist 20013 in Dezimalzahl und 00101101 in Binärform.

Sie können davon ausgehen, dass Sie, wenn Sie das ASCII-codierte A in Unicode codieren, nur 0 voranstellen müssen. Daher ist die Unicode-Codierung von A 00000000 01000001.

Es ist ein neues Problem aufgetreten: Bei einer Vereinheitlichung in die Unicode-Kodierung verschwindet das Problem verstümmelter Zeichen. Wenn der Text, den Sie schreiben, jedoch grundsätzlich ausschließlich auf Englisch verfasst ist, benötigt die Unicode-Kodierung doppelt so viel Speicherplatz wie die ASCII-Kodierung, was hinsichtlich der Speicherung und Übertragung sehr unwirtschaftlich ist.

Daher ist im Sinne der Erhaltung die UTF-8-Kodierung erschienen, die die Unicode-Kodierung in eine „Kodierung mit variabler Länge“ umwandelt. Die UTF-8-Kodierung kodiert ein Unicode-Zeichen in 1-6 Bytes entsprechend unterschiedlicher Zahlengrößen. Häufig verwendete englische Buchstaben werden in 1 Byte kodiert, und chinesische Zeichen werden normalerweise in 1-6 Bytes kodiert. In 4-6 Bytes kodiert. Wenn der Text, den Sie übertragen möchten, eine große Anzahl englischer Zeichen enthält, kann die UTF-8-Kodierung Platz sparen:

Eine kurze Einführung in Probleme mit der String-Kodierung in der Python-Programmierung

Sie werden also sehen, dass der Quellcode vieler Webseiten Informationen wie weisen darauf hin, dass die Webseite UTF-8-Codierung verwendet.


Das obige ist der detaillierte Inhalt vonEine kurze Einführung in Probleme mit der String-Kodierung in der Python-Programmierung. 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
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen 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)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Was sind reguläre Ausdrücke? Was sind reguläre Ausdrücke? Mar 20, 2025 pm 06:25 PM

Regelmäßige Ausdrücke sind leistungsstarke Tools für Musteranpassung und Textmanipulation in der Programmierung, wodurch die Effizienz bei der Textverarbeitung in verschiedenen Anwendungen verbessert wird.

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Apr 01, 2025 pm 11:18 PM

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Mar 21, 2025 pm 06:46 PM

In dem Artikel werden beliebte Python-Bibliotheken wie Numpy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, Django, Flask und Anfragen erörtert, die ihre Verwendung in wissenschaftlichen Computing, Datenanalyse, Visualisierung, maschinellem Lernen, Webentwicklung und h beschreiben

See all articles