Python2-Zeichenfolgentyp

Python2 hat zwei Zeichenfolgentypen, "str" und "unicode". Normalerweise sollten Sie den Typ "Unicode" verwenden.

str Typ

Es ist richtig (ich denke), dass str eher eine Byte-Zeichenfolge als eine Zeichenfolge ist.

aiueo = 'AIUEO'
#Zu diesem Zeitpunkt wird aiueo zum str-Typ

len(aiueo)
#Wie viele davon abhängen, hängt von der Codierung der Datei ab
#Zum Beispiel utf-Wenn es 8 ist, wird es 15 und verschiebt sich_Wenn es jis ist, wird es 10 sein.

Unicode-Typ

Der Typ "Unicode" zeichnet Zeichen als UCS-2 (oder UCS-4) auf. Um Zeichen im UCS-4-Bereich zu verwenden, müssen Sie diese beim Kompilieren von Python angeben.

aiueo = u'AIUEO'
#Zu diesem Zeitpunkt wird aiueo zum Unicode-Typ

len(aiueo)
#Werden Sie 5 in jeder Umgebung

kodieren und dekodieren

Sie können in einen Unicode-Typ konvertieren, indem Sie die Decode-Methode vom Typ str aufrufen. Wenn Sie dagegen die "encode" -Methode vom Typ "unicode" aufrufen, können Sie sie in den Typ "str" konvertieren.

aiueo = u'AIUEO'

aiueo_utf8 = aiueo.encode('utf-8')
aiueo_shiftjis = aiueo.encode('shift_jis')

print isinstance(aiueo_utf8, str) # True
print isinstance(aiueo_shiftjis, str) # True
print len(aiueo_utf8) # 15
print len(aiueo_shiftjis) # 10

print len(aiueo_utf8.decode('utf-8')) # 5
print len(aiueo_shiftjis.decode('shift_jis')) # 5

Wenn Sie eine falsche Codierung an die "decode" -Methode übergeben, wird ein "UnicodeDecodeError" -Fehler angezeigt.

aiueo_shiftjis.decode('utf-8') #UnicodeDecodeError-Fehler

Python3

Es scheint, dass "str" in "Bytes" und "Unicode" in Python3 in "str" geändert wird, weil es verwirrend ist.

Referenz

Recommended Posts

Python2-Zeichenfolgentyp
Python # String-Typ
Python: Strings kombinieren
Python String Slice
Python-String-Format
Python-String-Inversion
Python-Grundkurs (4 numerische Typen / Zeichenfolgen)
String-Manipulation in Python
[Python] Mehrzeilige Zeichenfolgenzuweisung
Python-String-Manipulations-Master
[Python2] Datumszeichenfolge → UnixTime → Datumszeichenfolge
Zufällige String-Generierung (Python)
Python3> Dokumentationszeichenfolge / Dokumentzeichenfolge
Python # Überprüfen Sie die Typidentität
Abbildung zur Verarbeitung von Python-Zeichenfolgen
[Python] Datum in Zeichenfolge konvertieren
Python-Einzug und String-Format
Python
[Python] Verwenden Sie eine Zeichenfolgenfolge
Python --Überprüfen Sie den Wertetyp
Verschiedene String-Operationen in Python integriert
Unveränderlicher Python-Typ int memo
[Python 2/3] Analysiert die Formatzeichenfolge
Datumsmanipulation von Strings in Python
Konvertierung von Bilddatentypen [Python]
Python> Datum / Uhrzeit> Von der Datumszeichenfolge (ISO-Format: 2015-12-09 12:40:08) zum Datum / Uhrzeit-Typ
Python f-Zeichen (formatierte Zeichenfolge)
String-Format mit Python% -Operator
[Python] Typ Fehler: 'in <string>' erfordert einen String als linken Operanden, nicht als Liste
Definition des Funktionsargumenttyps in Python
[Übersetzung] Python statischer Typ, erstaunlicher Mypy!
Trainieren! !! Einführung in Python Type (Type Hints)
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
[Python] Woche 1-3: Nummerntyp und Operation
Laden Sie JSON-Typen dynamisch mit Python
Typ in Python angegeben. Ausnahmen auslösen
6 Möglichkeiten zum Stringen von Objekten in Python
[Persönliches Memo] Python-Sequenztyp / Zuordnungstyp
Beherrsche den Typ mit Python [Python 3.9 kompatibel]
Python String Processing Map und Lambda
Erstellen Sie eine zufällige Zeichenfolge in Python
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
Zeitzonenspezifikation beim Konvertieren einer Zeichenfolge in einen Datums- / Uhrzeittyp mit Python
Kafka Python
Konvertierung der Zeichenfolge <-> Datum (Datum, Datum / Uhrzeit) in Python
Python-Grundlagen ⑤
Python-Zusammenfassung
Eingebaute Python
Python-Technik
Python studieren
Shell-Typ
Python 2.7 Countdown
Python-Memorandum
Wiedereinführung in Python-Dekoratoren ~ Lernen wir Dekoratoren nach Typ ~
[Python] Einfache Überprüfung des Argumenttyps mit Datenklasse
Python-Tipps
Python-Funktion ①
Python-Grundlagen
Python-Memo