close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Ein- und Ausgabe Buchstaben als Zahlen: Kodierung Wie werden

EinbettenHerunterladen
Ein- und Ausgabe
Buchstaben als Zahlen: Kodierung
Ein- und Ausgabe
Buchstaben kšnnen als Zahlen angesehen werden.
Wie werden Schriftzeichen kodiert?
ASCII
Unicode
Eine Kodierung legt fest, welcher Buchstabe mit welcher Zahl
gemeint ist.
WillkŸrliches Beispiel:
ASCII-Codes in Prolog
1 = ÈAÇ
Prolog-Befehle zur Ein- und Ausgabe
2 = ÈBÇ
É
Anderes, ebenso willkŸrliches Beispiel:
Ziel
65 = ÈAÇ
Kennen der Ein- und Ausgabebefehle in Prolog
66 = ÈBÇ
name/2
É
nicht nštig: Auswendiglernen von Codetabellen
Ein- und Ausgabe Ð 1
Ein- und Ausgabe Ð 2
Wie werden Schriftzeichen kodiert?
Wie werden Schriftzeichen kodiert?
Verschiedene Normen/Standards:
ASCII-Codetabelle
American Standard Code for Information Interchange (ASCII)
Ñ anderer Name: International Alphabet 5 (IA5) Ñ
regelt Codes fŸr englisches Alphabet (A Ð Z; a Ð z; 0 Ð 9) und
einige Sonderzeichen wie @, {, /, (, %.
ISO 8859-1 regelt Codes fŸr die Alphabete der meisten
westeuropŠischen Sprachen, z.B. Š, §, ƒ, ñ
dutzende andere Standards
Probleme:
Manche Standards widersprechen sich
Nur ASCII ist wirklich weit verbreitet, umfasst aber wenig Zeichen
Ein- und Ausgabe Ð 3
10/13 neue Zeile
32 Leerschlag
33
!
34
"
35
#
36
$
37
%
38
&
39
'
40
(
41
)
42
*
43
+
44
,
45
46
.
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Ein- und Ausgabe Ð 4
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
Wie werden Schriftzeichen kodiert?
Wie werden Schriftzeichen kodiert?
Ein Versuch zur Vereinheitlichung: Unicode
Ein Versuch zur Vereinheitlichung: Unicode
Codes fŸr alle gegenwŠrtig verwendeten Schriftzeichen
und Symbole in (fast) allen Sprachen der Welt
Codes fŸr Zeichen einiger ausgestorbene Sprachen
Kodierung mit 16stelligen 0/1-Folgen (entspricht Zahlen zwischen
0 und 65535 ⇒ maximal 65536 verschiedene Zeichen)
UrsprŸnglich von Xerox/Apple/Sun entwickelt, spŠter von vielen
anderen Firmen Ÿbernommen
Normierung durch Teil von ISO 10646
Heute: UnterstŸtzung durch Java, Windows NT, MacOS 8, É
Codetabellen auf http://www.unicode.org/
Ein- und Ausgabe Ð 5
Ein- und Ausgabe Ð 6
ASCII-Codes in Prolog
ASCII-Codes in Prolog
put/1 gibt ein einzelnes Zeichen aus. Das Argument ist
der ASCII-Code des Zeichens.
get0/1 wartet, bis der Benutzer ein einzelnes Zeichen auf
der Tastatur eingibt.
Danach wird X an den ASCII-Code des eingegebenen
Zeichens gebunden.
?- put(72), put(97), put(108), put(108), put(111).
Hallo
Allerdings definiert ASCII keine Codes fŸr die Zeichen
exotischer Sprachen.
?- get0(X).
X = 65
Benutzer hat A
gedrŸckt
Deutsch ist wegen €, …, † und § eine ÈexotischeÇ Sprache
Ergebnis von put(138) oder put(5000): nicht normiert
Ein- und Ausgabe Ð 7
Ein- und Ausgabe Ð 8
63
64
65
66
67
68
69
70
71
72
?
@
A
B
C
D
E
F
G
H
ASCII-Codes in Prolog
ASCII-Codes in Prolog
Eine beliebige Zeichenkette, zwischen zwei " eingeschlossen, wird als Liste der ASCII-Codes dargestellt.
name(Atom, Liste)
?- Kette = "Hallo Du".
Kette = [72,97,108,108,111,32,68,117].
32
Leerschlag
68
D
72
H
97
gibt den Namen von Atom (darf auch eine Zahl sein)
als Liste von ASCII-Codes zurŸck
oder erzeugt umgekehrt einen atomaren Term aus einer Liste von
ASCII-Codes
?- name(bla, L).
L = [98, 108, 97]
108
l
111
o
117
u
a
Ein- und Ausgabe Ð 9
Schreiben in eine Datei
tell/1 leitet die Ausgabe der PrŠdikate
write/1
nl/0
put/1
display/1
?- name(27, L).
L = [50, 55] 50
?- name(A, [98, 108, 97]).
A = bla
Ein- und Ausgabe Ð 10
Schreiben in eine Datei
?- tell(hans),
write(hallo), nl,
write(du), nl,
told.
in eine Datei um.
told/0
beendet die Umleitung
sorgt dafŸr, dass zukŸnftige Ausgaben wieder auf dem Bildschirm
erscheinen
Ein- und Ausgabe Ð 11
Ein- und Ausgabe Ð 12
51
52
53
54
55
2
3
4
5
6
7
Schreiben in eine Datei
Lesen aus einer Datei
telling/1 gibt an, in welche Datei die Ausgabe zur Zeit
gerade geleitet wird.
user steht fŸr den Bildschirm.
see/1 nimmt die Eingabe fŸr die PrŠdikate
?- telling(Zuerst),
tell(hans), write(hallo),
telling(Mitte),
told,
telling(Zuletzt).
Zuerst = user,
Mitte = hans,
Zuletzt = user
Ein- und Ausgabe Ð 13
Lesen aus einer Datei
read/1
get0/1
É
aus einer Datei.
seen/0
beendet die Umleitung
sorgt dafŸr, dass zukŸnftige Eingaben wieder vom Benutzer abgefragt werden
Ein- und Ausgabe Ð 14
Lesen aus einer Datei
seeing/1 gibt an, aus welcher Datei die Eingabe zur Zeit
gerade genommen wird.
user steht fŸr die Tastatur.
?- see(hans),
get0(X), put(X), nl,
get0(Y), put(Y), nl,
seen.
h
a
Ein- und Ausgabe Ð 15
?- seeing(Zuerst),
see(hans),
seeing(Mitte),
seen,
seeing(Zuletzt).
Zuerst = user,
Mitte = hans,
Zuletzt = user
Ein- und Ausgabe Ð 16
Document
Kategorie
Internet
Seitenansichten
11
Dateigröße
185 KB
Tags
1/--Seiten
melden