Worin besteht der Zusammenhang zwischen ASCII und einem Datentyp?

...komplette Frage anzeigen

2 Antworten

ASCII ist ein Zeichensatz bzw. eine Kodierung von Buchstaben. Stell dir einfach eine Tabelle vor, bei der jeder Zahl ein Buchstabe zugeordnet wird, z. B. ist bei ASCII die 65 ein A, 66 ist B, usw.

97 ist a, 98 ist b usw.

Wenn du theoretisch auf einer ASCII-Tastatur die Taste a drückst, sendet sie dann an deinen PC die Zahl 97 (als Binärzahl) und dein Computer guckt in seine Tabelle und weiß dann "Aha, der will ein a tippen".

Datentypen wiederum sind was ganz anderes. Bei Datenbanken wirst du unweigerlich darauf treffen. Ein Integer z.B. ist ein ganzzahliger Wert, der 16 Bit groß ist. Er kann ein Vorzeichen haben oder nicht, wenn er keins hat, ist der größte Wert 65535 (16 Bits auf 1 in Binärcode).

Der Zusammenhang: Es gibt in Programmiersprachen auch den Datentypen "char", der für eine 1-Byte große Zahl steht, die ein Zeichen repräsentiert. ASCII hat zwar nur 7 Bit, aber vor den 7 Bits, die das Zeichen darstellen, kommt eine 0.

Standardmäßig verwenden Programmiersprachen ASCII als Grundlage für char, also wäre ein char-Wert von 0100 0001 (8Bit=1Byte) = 65 (Dezimal) = A (laut ASCII-Tabelle).

Soll heißen: Der Datentyp char erwartet einen ASCII-Zeichensatz in den meisten Programmiersprachen, da er nur 8 Bit groß ist.

In neueren Programmiersprachen werden meist 16 Bit pro Zeichen verwendet, damit man auch Sonderzeichen im Programm verwenden kann.

TLDR: Der Datentyp "char" interpretiert die gespeicherten Bits als ASCII-Zeichen.

vielen vielen dank, das hat mir sehr geholfen! :)

0

Der ASCII Zeichensatz ist eine Repräsentation von Unicode-Daten.

Okay und was sind Unicode Daten?

Sorry aber ich hab davon echt keine ahnung und schreibe morgen einen Test.

0

Das ist falsch. Unicode ist eine Erweiterung von ASCII, bzw. ein neuer Zeichensatz, der auch die ASCII-Zeichen enthält, da es nur 128 ASCII Zeichen gibt (Nummer 0 - 127 = 7 Bit) und diese nicht reichen, um z.B. Sonderzeichen und arabische/asiatische Schriftzeichen darzustellen.

0

Was möchtest Du wissen?