Python ascii()-Funktion

Python3 内置函数Python3 integrierte Funktionen


ascii()Ist eine in Python integrierte Funktion, die verwendet wird, um die ASCII-Darstellung eines Objekts zurückzugeben.

ascii()Gibt eine Zeichenkette zurück, ähnlich wierepr(), aber sie maskiert Nicht-ASCII-Zeichen als ASCII-Zeichen. Dies ist sehr nützlich für das Debugging und die Protokollierung.

Begriffsdefinition: asciiIst die Abkürzung für American Standard Code for Information Interchange.


Grundlegende Syntax und Parameter

Syntaxformat

ascii(object)

Parameterbeschreibung

  • Parameter object:
    • Typ: Beliebiges Objekt
    • Beschreibung: Das Objekt, dessen ASCII-Darstellung ermittelt werden soll.

Funktionsbeschreibung

  • Rückgabewert: Gibt eine Zeichenkette zurück.
  • Merkmal: Nicht-ASCII-Zeichen werden maskiert als\x、\uoder\UForm.

Beispiele

Beispiel 1: Grundlegende Verwendung

Beispiel

# Reine ASCII-Zeichenkette
s = "Hello"
print(ascii(s))   # Ausgabe: 'Hello'

# Enthält Nicht-ASCII-Zeichen
s = Hallo
print(ascii(s))   # Ausgabe: '\xe4\xbd\xa0\xe5\xa5\xbd'

# Gemischte chinesische und englische Zeichen
s = Hello Hello
print(ascii(s))   # Ausgabe: 'Hello \xe4\xbd\xa0\xe5\xa5\xbd'

# Andere Nicht-ASCII-Zeichen
s = "café"
print(ascii(s))   # Ausgabe: 'caf\xc3\xa9'

Erwartete Ausgabe:

'Hello'
'\xe4\xbd\xa0\xe5\xa5\xbd'
'Hello \xe4\xbd\xa0\xe5\xa5\xbd'
'caf\xc3\xa9'

Codeanalyse:

  1. Reine ASCII-Zeichen bleiben unverändert.
  2. Nicht-ASCII-Zeichen werden escaped.
  3. Chinesische Zeichen verwenden\xhexadezimale Escaping.

Beispiel 2: Vergleich mit repr()

Beispiel

# repr vs ascii
s = Chinesisch
print(f"repr: {repr(s)}")   # Ausgabe: repr: 'Chinese'
print(f"ascii: {ascii(s)}") # Ausgabe: ascii: '\xe4\xb8\xad\xe6\x96\x87'

# Liste
lst = ["Hello", Hello, "café"]
print(repr(lst))   # Ausgabe: ['Hello', 'Hello', 'café']
print(ascii(lst))  # Ausgabe: ['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9']

# Wird für die Ausgabe verwendet (um Kodierungsfehler zu vermeiden)
import sys
print(ascii("Test"))  # Ausgabe: '\xe6\xb5\x8b\xe8\xaf\x95'

Erwartete Ausgabe:

repr: '中文'
ascii: '\xe4\xb8\xad\xe6\x96\x87'
['Hello', '你好', 'café']
['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9']
'\xe6\xb5\x8b\xe8\xaf\x95'

ascii()Es ist sehr nützlich, wenn Sie Nicht-ASCII-Zeichen in einer reinen ASCII-Umgebung anzeigen oder aufzeichnen müssen.


Python3 内置函数Python3 integrierte Funktionen


Andere Erweiterungen