Wolfgang: utf8 - unicode

Beitrag lesen

Hi,

was genau ist der Unterschied zwischen utf-8 und unicode?

Also Unicode ist eine international gültige Zeichentabelle, die auch heute noch ausgebaut wird und mit dem Ziel geschaffen wurde, alle druckbaren Zeichen, Buchstaben und Zahlen in eine Codetabelle zu integrieren.

Das Ding hat derzeit über 70.000 Zeichen und es ist klar, bzw sollte klar sein, dass "unicode-untertützung" nicht automatisch alle Sprachen meint.

Besonders deutlich sieht man das an Zeichen, die nicht zu einer Sprache gehören. Die hier gezeigten technischen Symbole gehören zum Unicode-Zeichensatz und konnten auf der Webseite nicht dargestellt werden. Was ich hier damals diskutiert hatte, das war eine mangelnde Möglichkeit für den Webserver zu ermitteln, ob die Zeichen vorhanden sind, oder nicht.

utf-8 jedenfalls ist eine bestimmte Darstellung dieser Codepage, zwei andere ebenfalls nach dieser Norm gültige sind utf-16 und utf-32. Das sogenannte utf-7 ist kein Unicode, das ist etwas, das sich Microsoft ausgedacht hat, um die Welt komplizierter zu machen.

Dabei sind die Inhalte von utf-8, uft-16 und utf-32 identisch und jederzeit ineiander umrechenbar. Es ist völlig gleich, welche Entscheidung man trifft (utf-8, uft-16 oder utf-32=, man kann immer die gleichen Infomationen abspeichern. Eine Fehlentscheidung macht die Dateien maximal um den Faktor 4 größer.
Wenn du nach dem "Unterschied" fragst, dann wahrscheinlich, weil ein Editor einmal unter "Unicode" abspeichert und einmal unter utf-8. In diesem Fall dürfte entweder utf-16 gemeint sein oder utf-32. Das muss man dann aber probieren.

Was bedeutet es, wenn eine Sprache, zb. Java, Unicode unterstützt? Was für eine, die es nicht unterstützt?

In einer Sprache, die kein unicode unterstützt, sondern nur nicht-Unicode Codetabellen kann man maximal 128 verschiedene Zeichten verarbeiten. So kann mit iso-8859-1 keine russischen und keine hebräischen Zeichen - und viele andere auch nicht - verarbeiten.

Herzliche Grüße
Wolfgang