suchen
HeimBackend-EntwicklungPython-TutorialAusführliche Erläuterung der String-Operationen und der Unicode-Codierung in Python_

Tatsächlich sind Strings auch ein Datentyp. Strings sind jedoch insofern etwas Besonderes, als es ein Codierungsproblem gibt. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zu String-Operationen und der Codierung von Unicode in Python ein. Lassen Sie uns gemeinsam einen Blick darauf werfen.

Dieser Artikel vermittelt Ihnen hauptsächlich etwas Wissen über String-Operationen und die Codierung von Unicode in Python. Ich werde im Folgenden nicht viel sagen. Freunde, die es brauchen, können zusammenkommen.

String-Typ

str: Unicode-String. Mit '' oder r'' erstellte Zeichenfolgen sind alle str, und einfache Anführungszeichen können durch doppelte oder dreifache Anführungszeichen ersetzt werden. Unabhängig davon, wie Sie es angeben, gibt es keinen Unterschied, wenn es intern in Python gespeichert wird.

bytes: Binärzeichenfolge. Da Dateien in anderen Formaten wie JPG nicht mit str angezeigt werden können, werden sie durch Bytes dargestellt. Jedes Byte ist eine Zahl von 0 bis 255. Beim Drucken zeigt Python den Teil, der in ASCII ausgedrückt werden kann, als ASCII an, was die Lesbarkeit erleichtert. bytes unterstützt fast alle str-Methoden außer der Formatierung, einschließlich des re-Moduls

bytearray() : eine Binärzeichenfolge, die an Ort und Stelle geändert werden kann.

utf-8-Kodierungsbereich

范围 字节数 存储格式
0x0000~0x007F (0 ~ 127) 1字节 0xxxxxxx
0x0080~0x07FF(128 ~ 2047) 2字节 110xxxxx 10xxxxxx
0x0800~FFFF(2048 ~ 65535)  3字节 1110xxxx 10xxxxxx 10xxxxxx
0x10000~1FFFFFF(65536 ~ 2097152) 4字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
0x2000000~0x3FFFFFF 5字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
0x4000000~0x7FFFFFFF)  6字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

Byte Order Mark BOM

BOM Is die Abkürzung für Byte Order Marker,

Gibt die Regeln an, wenn die Codierung geschrieben wird

Python schreibt keine BOM, wenn Dateien mit dem Codierungsheader „utf-8“ geschrieben werden, aber Durch die Angabe der Codierung „utf-8-sig“ wird Python gezwungen, einen BOM-Header zu schreiben.

Bei Verwendung von „utf-16-be“ wird kein Stücklistenkopf geschrieben, bei Verwendung von „utf-16“ wird jedoch ein Stücklistenkopf geschrieben.

>>> open('h.txt','w',encoding='utf-8-sig').write('aaa')
3
>>> open('h.txt','rb').read()
b'\xef\xbb\xbfaaa'
>>> open('h.txt','w',encoding='utf-16').write('bbb')
3
>>> open('h.txt','rb').read()
b'\xff\xfeb\x00b\x00b\x00'
>>> open('hh.txt','w',encoding='utf-16-be').write('ccc')
3
>>> open('hh.txt','rb').read()
b'\x00c\x00c\x00c'
>>> open('h.txt','w',encoding='utf-8').write('ddd')
3
>>> open('h.txt','rb').read()
b'ddd'

Regeln beim Lesen

Wenn die richtige Kodierung angegeben ist, wird die Stückliste ignoriert, andernfalls , wird die Stückliste als verstümmelte Zeichen angezeigt oder es wird eine Ausnahme zurückgegeben.

>>> open('h.txt','r').read()
'锘縟dd'
>>> open('h.txt','r',encoding='utf-8-sig').read()
'ddd'

Kodierung und Dekodierung

  • chr und ord

>>> ord('中') #20013
>>> chr(20013) #'中'

  • Unicode fest in die Zeichenfolge codieren.

'xhh': Verwenden Sie zweistellige Hexadezimalzahlen, um ein Zeichen darzustellen.

'uhhhh': Verwenden Sie vierstellige Hexadezimalzahlen, um ein Zeichen darzustellen. Zeichen:

'Uhhhhhhhh': Verwenden Sie 8-stelliges Hexadezimal, um ein Zeichen darzustellen

>>> s = 'pyx74hu4e2don' #'pyth中on'

str und bytes, Bytearray konvertieren

str.encode(encoding='utf-8')<code>str.encode(encoding='utf-8')<br>

bytes(s ,encoding='utf- 8')<code>bytes(s,encoding='utf-8')<br>

bytes.decode(encoding='utf-8')<code>bytes.decode(encoding='utf-8')<br>

str(B, encoding='utf-8')

bytearray(string, encoding='utf-8')

bytearray(bytes)

Dokumentkodierungserklärung

Python verwendet utf-8 Codierung standardmäßig.

# -*- coding: latin-1 -*- : Zeigt an, dass das Dokument als Latin-1-codiert deklariert ist.

Hilfsfunktion

sys.platform  #&#39;win32&#39;
sys.getdefaultencoding() # &#39;utf-8&#39;
sys.byteorder  #&#39;little&#39;
s.isalnum()  #s表示字符串
s.isalpha()
s.isdecimal
s.isdigit()
s.isnumeric()
s.isprintable()
s.isspace()
s.isidentifier() #如果字符串可以用作变量名,那么返回True
s.islower()
s.isupper()
s.istitle()

Detailliertere Erläuterungen zu String-Operationen und der Codierung von Unicode in Python For Verwandte Artikel, achten Sie bitte auf die chinesische PHP-Website!

Stellungnahme
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
Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Apr 25, 2025 am 12:28 AM

Arraysinpython, besondersvianumpy, arecrucialInScientificComputingFortheirefficience undvertilität.1) Sie haben festgelegt, dass die Fornerikerne, Datenanalyse und Machinelarning.2) Numpy'SimplementationIncensuresFasteroperationsdanpythonlisten.3) Araysensableableableableableableableableableableableableableableableableableableableableableableableableableable

Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Apr 25, 2025 am 12:24 AM

Sie können verschiedene Python -Versionen mithilfe von Pyenv, Venv und Anaconda verwalten. 1) Verwalten Sie PYENV, um mehrere Python -Versionen zu verwalten: Installieren Sie PyEnv, setzen Sie globale und lokale Versionen. 2) Verwenden Sie VenV, um eine virtuelle Umgebung zu erstellen, um Projektabhängigkeiten zu isolieren. 3) Verwenden Sie Anaconda, um Python -Versionen in Ihrem Datenwissenschaftsprojekt zu verwalten. 4) Halten Sie das System Python für Aufgaben auf Systemebene. Durch diese Tools und Strategien können Sie verschiedene Versionen von Python effektiv verwalten, um den reibungslosen Betrieb des Projekts zu gewährleisten.

Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Apr 25, 2025 am 12:21 AM

NumpyarrayShaveseveraladVantagesOverStandardPythonArrays: 1) SiearemuchfasterDuetoc-basiert, 2) sie istaremoremory-effizient, insbesondere mit mit LaShlargedatasets und 3) sie können sich mit vektorisierten Funktionsformathematical und Statistical opertical opertical opertical operticaloperation, Making

Wie wirkt sich die homogene Natur der Arrays auf die Leistung aus?Wie wirkt sich die homogene Natur der Arrays auf die Leistung aus?Apr 25, 2025 am 12:13 AM

Der Einfluss der Homogenität von Arrays auf die Leistung ist doppelt: 1) Homogenität ermöglicht es dem Compiler, den Speicherzugriff zu optimieren und die Leistung zu verbessern. 2) aber begrenzt die Typ -Vielfalt, was zu Ineffizienz führen kann. Kurz gesagt, die Auswahl der richtigen Datenstruktur ist entscheidend.

Was sind einige Best Practices für das Schreiben von ausführbaren Python -Skripten?Was sind einige Best Practices für das Schreiben von ausführbaren Python -Skripten?Apr 25, 2025 am 12:11 AM

TocraftexecutablePythonScripts, folge theseBestPractices: 1) addashebangline (#!/Usr/bin/envpython3) tomakethescriptexcutable.2 SetPermissions withchmod xyour_script.py.3) organisation -bithacleardocstringanduseInname == "__ __": FormAcleardocstringanduseInname

Wie unterscheiden sich Numpy Arrays von den Arrays, die mit dem Array -Modul erstellt wurden?Wie unterscheiden sich Numpy Arrays von den Arrays, die mit dem Array -Modul erstellt wurden?Apr 24, 2025 pm 03:53 PM

NumpyarraysarebetterFornumericaloperations und multi-dimensionaldata, whilethearraymoduleiStableforbasic, an Gedächtniseffizienten

Wie vergleichen sich die Verwendung von Numpy -Arrays mit der Verwendung der Array -Modularrays in Python?Wie vergleichen sich die Verwendung von Numpy -Arrays mit der Verwendung der Array -Modularrays in Python?Apr 24, 2025 pm 03:49 PM

NumpyarraysarebetterforeheavynumericalComputing, während der projectwithsimpledatatypes.1) numpyarraysoferversatility und -PerformanceForlargedataSets und Compoxexoperations.2) thearraysoferversStility und Mächnory-Effefef

Wie bezieht sich das CTypes -Modul auf Arrays in Python?Wie bezieht sich das CTypes -Modul auf Arrays in Python?Apr 24, 2025 pm 03:45 PM

ctypesallowscreatingandmanipulationsc-stylearraysinpython.1) usectypestoInterfaceWithClibraryForperformance.2) createCec-stylearraysFornumericalComputationen.3) PassarrayStocfunctionsFectionFicecher-Operationen.

See all articles

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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft