lehrkraefte:blc:informatik:efi-2023:unicode

Unicode

https://de.wikipedia.org/wiki/Unicode

Ist eine Zuordnung von Symbolen (Buchstaben, Emojis, etc.) zu Zahlen.

  • Über 100'000 definierte Zeichen
  • ASCII-kompatibel, Zahlen 128-255 sind absichtlich nicht definiert (weil durch eine Unzahl «alter» Zuordnungen belegt).

UTF-8

https://de.wikipedia.org/wiki/UTF-8

Ist eine (raffinierte) Möglichkeit, die Zahlen für die Unicodesymbole zu kodieren.

  • ASCII-kompatibel
  • nur nicht-ASCII-Zeichen belegen mehrere Bytes.
  • auch ein partieller UTF-8 codierter Text kann fehlerfrei gelesen werden. (Es ist immer klar, ob ein Byte ein ASCII-Zeichen, ein Start-Byte oder ein Folge-Byte ist).

Beispiel: Codierung vom Smiley (Unicode Point 128578, bzw. 0x1f642)

Pythonfunktionen

>>> chr(0x1f642)
'🙂'
>>> ord('🙂')
128578
>>> bytes('🙂',encoding="utf8")
b'\xf0\x9f\x99\x82'
>>> hex(128578)
'0x1f642'
>>> 0x1f642
128578
>>> bytes('Blöchliger', encoding="utf8")
b'Bl\xc3\xb6chliger'
>>> 0xc3b6
50102
>>> bin(0xc3b6)
'0b1100001110110110'
>>> 0b00011110110
246
>>> ord("ö")
246
  • lehrkraefte/blc/informatik/efi-2023/unicode.txt
  • Last modified: 2024/03/26 19:15
  • by Ivo Blöchliger