NB01_Zeichendarstellung¶
(c) 2025 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
Zeichen Darstellung¶
Auch ganz normaler Text und Zeichen müssen in das Grundformat von Bits und Bytes der Computer eingepasst werden. Hierzu gibt es heutzutage zwei wesentliche Formate.
ASCII - American Standard Code for Information Interchange¶
Der ASCII Code ist eine 7-Bit Zeichenkodierung (enthält als 2^7 = 128 Zeichen) wurde bereits 1963 als American Standard (Document ANSI X3.4-1986 (R1997)) entwickelt und 1969 als einer der ersten Internet-Standards RFC 20 und belegt die Bytes von 0x00 bis 0x7F mit den folgenden Zeichen:
Code | …0 | …1 | …2 | …3 | …4 | …5 | …6 | …7 | …8 | …9 | …A | …B | …C | …D | …E | …F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0… | NUL |
SOH |
STX |
ETX |
EOT |
ENQ |
ACK |
BEL |
BS |
HT |
LF |
VT |
FF |
CR |
SO |
SI |
1… | DLE |
DC1 |
DC2 | DC3 |
DC4 | NAK |
SYN |
ETB |
CAN |
EM |
SUB |
ESC |
FS |
GS | RS |
US |
2… | SP |
! |
" |
# |
$ |
% |
& |
' |
( |
) |
* |
+ |
, |
- |
. |
/ |
3… | 0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
: |
; |
< |
= |
> |
? |
4… | @ |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
5… | P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
[ |
\\ |
] |
^ |
_ |
6… | ` |
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
7… | p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
{ |
| |
} |
~ |
DEL |
In der obigen Tabelle sind die hellrot hinterlegten Zeichen für Steuerzeichen festgelegt. In normalen Texten kommen dennoch die drei rot hinterlegten Zeichen vor und sind daher auch durch entsprechende Escape-Sequenzen definiert:
Zeichen | Beschreibung (engl.) | Beschreibung (deutsch) | Escape-Sequenz |
---|---|---|---|
HT | Horizontal Tab | Tabulator | \t |
LF | Line Feed | Zeilenvorschub | \n |
CR | Carriage Return | Wagenrücklauf | \r |
Nachteil des ASCII Codes ist, dass viele nationale Zeichen, u.a. die deutschen Umlaute nicht darin integriert sind und deswegen in vielen Zeichensätzen (meist 8-Bit Zeichensätze, die 256 Zeichen enthalten) erweitert werden musste, z.B. im mitteleuropäischen Zeichensatz ISO-8859-1 (s. auch Wikipedia).
Unicode¶
Abhilfe für die Problematik der unterschiedlichen nationalen Zeichensätze hat erst der Unicode Standard des Unicode Consortiums. Der aktuelle Unicode Standard 9.0.0 enthält 128,172 Zeichen. Insgesamt kann der auf 16-Bit pro Zeichen und in 17 Ebenen eingeteilte Standard damit
17 * 2**16
1114112
also 1.114.112 Codepunkte beschreiben, die von U+0000 bis U+10FFFF benamt sind und jeweils einem Zeichen zugeordnet sind.
Python Relevanz¶
Python hat für die Darstellung von Zeichen aus dem ASCII und dem Unicode Zeichensatz die beiden Funktionen
- ord() für die dezimale Darstellung des jeweiligen Zeichens
- chr() für die Zeichendarstellung des entsprechenden Code
%%Mooc StringAssessment
Code eines ASCII Zeichens
In der folgenden Zuweisung wird die Variable a mit einem Zeichen vorbesetzt:
a = 'ß'
Wie lautet dann der entsprechende ASCII Code ?
%%Mooc StringAssessment
Darstellung eines Unicode Zeichens
In der folgenden Zuweisung wird die Variable a vorbesetzt:
a = 0x1F609
Welches Emoji-Zeichen verbirgt sich hinter diesem Code ?
%%Mooc Video
Weitere Literatur¶
%%Mooc WebReference
Wikipedia: IEEE 754
https://de.wikipedia.org/wiki/IEEE_754#.C3.9Cberblick
Hinweis: Beschreibung des IEEE Standards 754, der die Darstellungen für Gleitkommazahlen in Computern beschreibt
%%Mooc WebReference
Python Tutorial: Numbers
https://docs.python.org/3/tutorial/introduction.html#numbers
Hinweis: Grundlegende Eigenschaften von Zahlen in Python
%%Mooc WebReference
Python Library: Standard Types: Numeric Types - int, float, complex
https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex
Hinweis: Genaue Beschreibung der Eigenschaften von Zahlen in Python
%%Mooc WebReference
Wikipedia: ASCII Code
https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#Zusammensetzung
Hinweis: Beschreibung des ASCII Standard Codes