Zeichen: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Thomas (Diskussion | Beiträge) |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 32: | Zeile 32: | ||
* Speichereffizienz: Da die gängigsten lateinischen Buchstaben in den niedrigen Zahlenbereichen liegen, können sie in Unicode-Formaten wie UTF-8 weiterhin mit nur einem Byte (8 Bit) gespeichert werden. | * Speichereffizienz: Da die gängigsten lateinischen Buchstaben in den niedrigen Zahlenbereichen liegen, können sie in Unicode-Formaten wie UTF-8 weiterhin mit nur einem Byte (8 Bit) gespeichert werden. | ||
== Vom Zeichen zum Wissen ==[[Datei:Zeichen Daten Information Wissen.png|mini]] | === Umsetzung in Java === | ||
Du kannst eine [[Variable (Informatik)|Variable]] vom [[Datentyp]] char in [[Java]] direkt einer int-Variable zuweisen. Java erledigt die Umwandlung dann automatisch, da ein int mehr Platz bietet als ein char. | |||
<syntaxhighlight lang="java"> | |||
char meinZeichen = '$'; | |||
int asciiWert = meinZeichen; // Automatische Umwandlung | |||
</syntaxhighlight> | |||
In einer [[Schleife]] können die Char eines String [[Objekt|Objektes]] zeichenweise umgewandelt werden:: | |||
<syntaxhighlight lang="java"> | |||
String inputText = "Hallo"; | |||
for (char c : inputText.toCharArray()) { | |||
int ascii = c; // Jedes Zeichen wird hier zum ASCII-Wert | |||
}</syntaxhighlight> | |||
Da die ersten 127 Zeichen von Unicode identisch mit ASCII sind, funktioniert die Umwandlung für Unicode hier genauso. | |||
<syntaxhighlight lang="java"> | |||
char meinZeichen = 'A'; | |||
int unicodeWert = (int) meinZeichen; | |||
System.out.println(unicodeWert); // Gibt 65 aus | |||
</syntaxhighlight> | |||
Unicode ist viel größer als ASCII und umfasst weit mehr als 65.536 Zeichen. Einige moderne Zeichen (wie Emojis oder seltene Schriftzeichen) passen nicht mehr in einen einzelnen 16-Bit char. In Java nennt man diese Werte Code Points. Um den absolut sicheren Unicode-Wert zu erhalten, nutzt man die Methode codePointAt: | |||
<syntaxhighlight lang="java"> | |||
String text = "A"; | |||
int codePoint = text.codePointAt(0); | |||
System.out.println(codePoint); // Gibt 65 aus | |||
</syntaxhighlight> | |||
== Vom Zeichen zum Wissen == | |||
[[Datei:Zeichen Daten Information Wissen.png|mini]] | |||
Grundlage der Betrachtungen sind Zeichen aus einem bestimmten Zeichenvorrat, die, wenn sie einer bestimmten Syntax folgen, als [[Daten]] zu verstehen sind. Ein Beispiel: Aus dem oben Aufgeführten Zeichenvorrat wird die Zahl 1,8 dargestellt. Wendet man die deutsche Syntax zur Darstellung von Zahlen an, kann diese Zahl als Datum gespeichert werden. Wendet man hingegen die englische Syntax zur Darstellung von Zahlen an, begeht man einen syntaktischen Fehler. Im englischen Sprachraum wird der Punkt als Dezimalzeichen verwendet. Als Tausendertrennzeichen wird das Komma benutzt (z.B. 1,000.45). | Grundlage der Betrachtungen sind Zeichen aus einem bestimmten Zeichenvorrat, die, wenn sie einer bestimmten Syntax folgen, als [[Daten]] zu verstehen sind. Ein Beispiel: Aus dem oben Aufgeführten Zeichenvorrat wird die Zahl 1,8 dargestellt. Wendet man die deutsche Syntax zur Darstellung von Zahlen an, kann diese Zahl als Datum gespeichert werden. Wendet man hingegen die englische Syntax zur Darstellung von Zahlen an, begeht man einen syntaktischen Fehler. Im englischen Sprachraum wird der Punkt als Dezimalzeichen verwendet. Als Tausendertrennzeichen wird das Komma benutzt (z.B. 1,000.45). | ||
Ein Empfänger gewinnt nun aus Daten Informationen, wenn er diesen eine Bedeutung zuordnen kann. Die Zahl 1,8 könnte für alles mögliche stehen. Nur in einem bestimmten Kontext wird ersichtlich, dass 1,8 für den Wechselkurs Euro zu Dollar steht. | Ein Empfänger gewinnt nun aus Daten Informationen, wenn er diesen eine Bedeutung zuordnen kann. Die Zahl 1,8 könnte für alles mögliche stehen. Nur in einem bestimmten Kontext wird ersichtlich, dass 1,8 für den Wechselkurs Euro zu Dollar steht. | ||
Erst wenn der Empfänger die Informationen mit anderen Informationen vernetzten und so Entscheidungen fällen kann, spricht man von Wissen. Um in unserem Bespiel zu bleiben, wird Wissen über die Mechanismen des Devisenhandels aufgebaut. | Erst wenn der Empfänger die Informationen mit anderen Informationen vernetzten und so Entscheidungen fällen kann, spricht man von Wissen. Um in unserem Bespiel zu bleiben, wird Wissen über die Mechanismen des Devisenhandels aufgebaut. | ||