MINT lernen

ASCII und Zeichenvergleich

Für den Computer ist jedes Zeichen eine Zahl — deshalb kann er Wörter sortieren, und deshalb steht „Zebra“ vor „apfel“.

1

Zeichen sind Zahlen

  • ASCII:ordnet 128 Zeichen die Zahlen 0 bis 127 zu; der Computer speichert nur diese Zahl.
  • Bereiche:'0'–'9' = 48–57 · 'A'–'Z' = 65–90 · 'a'–'z' = 97–122 · Leerzeichen = 32
  • Groß ↔ klein:Kleinbuchstabe = Großbuchstabe + 32.
  • Zeichen → Zahl:Java (int) 'A' = 65 · Python ord('A') = 65
  • Zahl → Zeichen:Java (char) 66 = 'B' · Python chr(66) = 'B'
  • Ziffernwert:'7' − '0' = 55 − 48 = 7

Ziehe die beiden Messmarken ① und ② auf zwei Zeichen (Tastatur: Tab, dann Pfeiltasten). Das Lineal misst den Abstand ihrer ASCII-Werte — probiere die Voreinstellungen oben aus.

Das ASCII-Lineal

Halte fest: Groß- und Kleinbuchstaben liegen immer 32 auseinander, Ziffernzeichen stehen ab 48 der Reihe nach — deshalb gilt '7' − '0' = 7.

2

Zeichenketten vergleichen

  • Gleichheit:Java s.equals(t) — nicht ==! · Python s == t
  • Lexikographisch:Zeichen für Zeichen von links vergleichen; das erste unterschiedliche Zeichen entscheidet nach seinem ASCII-Wert.
  • Präfix:ist eine Kette der Anfang der anderen, ist die kürzere kleiner: "Ton" < "Tonne".
  • Groß vor klein:"Zebra" < "apfel", weil 90 < 97.
  • Java:s.compareTo(t) ist negativ, 0 oder positiv — je nachdem, ob s vor, gleich oder hinter t steht.
  • Python:direkt mit <, >, ==
Java
"Rad".compareTo("Rat")   // negativ: 'd' (100) < 't' (116)
"Ton".compareTo("Tonne") // negativ: "Ton" ist kürzer
"Mia".equals("Mia")      // true
Python
"Rad" < "Rat"      # True
"Ton" < "Tonne"    # True
"Zebra" < "apfel"  # True: 90 < 97
Merke

Lexikographisch: das erste unterschiedliche Zeichen entscheidet — kleinerer ASCII-Wert steht vorn; ist ein Wort der Anfang des anderen, steht das kürzere vorn.

3

Allgemeine Hinweise

equals statt ==

In Java prüft == bei Strings nur, ob es dasselbe Objekt ist — nicht, ob die Zeichen gleich sind. Für den Inhalt immer equals.

Großbuchstaben kommen zuerst

Nach ASCII steht jedes „Z“ vor jedem „a“. Wer alphabetisch ohne Rücksicht auf Groß-/Kleinschreibung sortieren will, wandelt vorher alles in Kleinbuchstaben um.

'7' ist nicht 7

Das Zeichen '7' hat den Wert 55. Den Zahlenwert einer Ziffer liefert c − '0' — das hilft beim Auswerten eingegebener Ziffern.

Videos