Unicode in Java#

Java verwendet intern Unicode-16 Zeichen. das heißt: Ein char sind 16 Bit!

Hier die Tabelle, um deutsche Umlaute plattformunabhängig in String-Konstanten oder Properties-Dateien zu codieren:

Zeichen 	Unicode
------------------------------
Ä, ä 		\u00c4, \u00e4
Ö, ö 		\u00d6, \u00f6
Ü, ü 		\u00dc, \u00fc
ß 		\u00df
€               \u20ac

in der Properties Datei "messages.properties" steht dann z.B.:

menu.undo=R\u00fcckg\u00e4ngig machen

-- PeterHormanns


Wie man in der Java API lesen kann, sind insbesondere Properties-Dateien per Definition immer in ISO-8859-1 kodiert. Das heisst, man kann Umlaute direkt benutzen, wenn man seinem Editor beibringt, immer das richtige Encoding zu benutzen. Da die meisten Systeme heutzutage UTF-8 als Standard benutzen, kann das etwas problematisch sein. Angenehm ist hier z.B. der Eclipse-Editor, der Properties anhand der Dateiendung erkennt und immer richtig kodiert. ISO-8859-1 heisst übrigens eigentlich, daß das Euro-Zeichen(€) immer noch nicht drin vorkommt (habe ich aber noch nicht probiert).

Natürlich gelten obige Hinweise immer noch für alle nicht-Properties-Dateien. Wer also z.B. ein Quelltextpaket zwischen zwei Systemen austauscht, sollte immer auf das Encoding achten. In Eclipse kann man z.B. ein festes Encoding für ein Projekt in den Projekteinstellungen angeben. Das hilft natürlich nur, wenn der andere Rechner ebenfalls Eclipse nutzt.

Man kann Unicode Escapes also sehr weitgehend vermeiden, wenn man sauber und sorgfältig vorgeht, sie können aber andererseits (bis auf die etwas verminderte Lesbarkeit) niemals schaden. -- ThomasBayen

Tags:  Java