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:

ASCII-Tabelle
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

In [2]:
17 * 2**16
Out[2]:
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
In [3]:
%%Mooc StringAssessment
Out[3]:

Code eines ASCII Zeichens

In der folgenden Zuweisung wird die Variable a mit einem Zeichen vorbesetzt:


    a = 'ß'

Wie lautet dann der entsprechende ASCII Code ?



In [4]:
%%Mooc StringAssessment
Out[4]:

Darstellung eines Unicode Zeichens

In der folgenden Zuweisung wird die Variable a vorbesetzt:


    a = 0x1F609

Welches Emoji-Zeichen verbirgt sich hinter diesem Code ?



In [5]:
%%Mooc Video
Out[5]:

Weitere Literatur

In [6]:
%%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

In [7]:
%%Mooc WebReference

Python Tutorial: Numbers

https://docs.python.org/3/tutorial/introduction.html#numbers

Hinweis: Grundlegende Eigenschaften von Zahlen in Python

In [8]:
%%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

In [9]:
%%Mooc WebReference

Wikipedia: ASCII Code

https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#Zusammensetzung

Hinweis: Beschreibung des ASCII Standard Codes