{"id":137,"date":"2008-03-17T12:21:00","date_gmt":"2008-03-17T12:21:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=137"},"modified":"2008-03-17T12:21:00","modified_gmt":"2008-03-17T12:21:00","slug":"thema-der-woche-unicode-und-kodierungen","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2008\/03\/thema-der-woche-unicode-und-kodierungen\/","title":{"rendered":"Thema der Woche: Unicode und Kodierungen"},"content":{"rendered":"<p>Java verarbeitet Zeichen (bisher) intern in 2-Byte Unicode. Gespeichert werden Daten aber in der Regel in UTF-8 oder, f\u00fcr uns in Europa, in Latin-1. Thema der Woche ist Unicode und die Umkodierungen. Am Anfang sollen <a href=\"http:\/\/cafe.elharo.com\/programming\/the-ten-commandments-of-unicode\/\">The Ten Commandments of Unicode<\/a> von Elliotte Rusty Harold stehen:<\/p>\n<ol>\n<li>I am Unicode, thy character set. Thou shalt have no other character sets before me.<\/li>\n<li>Thou shalt carefully specify the character encoding and the character set whenever reading a text file.<\/li>\n<li>Thou shalt not refer to any 8-bit character set as \u201cASCII\u201d.<\/li>\n<li>Thou shalt ensure that all string handling functions fully support characters from beyond the Basic Multilingual Plane. Thou shalt not refer to Unicode as a two-byte character set.<\/li>\n<li>Thou shalt plan for additions of future characters to Unicode.<\/li>\n<li>Thou shalt count and index Unicode characters, not UTF-16 code points.<\/li>\n<li>Thou shalt use UTF-8 as the preferred encoding wherever possible.<\/li>\n<li>Thou shalt generate all text in Normalization Form C whenever possible.<\/li>\n<li>Thou shalt avoid deprecated characters.<\/li>\n<li>Thou shalt steer clear of the private use area.<\/li>\n<\/ol>\n<p>Da schlie\u00dfen sich nun einige Fragen an, die es zu kl\u00e4ren gilt:<\/p>\n<ul>\n<li>Was ist der Unterschied zwischen ASCII, Unicode 2 und Unicode 4?<\/li>\n<li>Was ist ein Code-Point? Welche Funktionen in Java 5 sind wegen Unicode 4 hinzugekommen? Welche beiden Funktionen zum Zugriff auf ein Zeichen gibt es? Resultieren daraus Performance-Unterschiede?<\/li>\n<li>Was ist eine Kodierung? Wie wird sie in Java bestimmt? Durch einen String oder durch eine Klasse?<\/li>\n<li>Welchen Funktionen\/Konstruktoren der Java Klassenbibliothek nehmen eine Kodierungskennung entgegeben? Nenne mehrere Wege, wie man Strings\/Byte-Felder umkodiert.<\/li>\n<li>Gibt es XML-Parser in Java, die Unicode 4 unterst\u00fctzten? Was sagen die Autoren von XML-Parsern zu Unicode 4?<\/li>\n<li>Warum kann es beim Datenbankzugriff auf Textspalten Probleme geben? Gibt es dokumentierte Probleme\/L\u00f6sungen?<\/li>\n<\/ul>\n<p>Auch neu: <a href=\"http:\/\/www.tutego.com\/docs\/office\/cliparts-clip-art.html\">tutego&#8217;s Clip-Art Seite<\/a>. Links zu weiteren Clip-Art Sammlungen (ohne die l\u00e4stigen Popup-Men\u00fcs) sind willkommen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java verarbeitet Zeichen (bisher) intern in 2-Byte Unicode. Gespeichert werden Daten aber in der Regel in UTF-8 oder, f\u00fcr uns in Europa, in Latin-1. Thema der Woche ist Unicode und die Umkodierungen. Am Anfang sollen The Ten Commandments of Unicode von Elliotte Rusty Harold stehen: I am Unicode, thy character set. Thou shalt have no [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[13],"tags":[],"class_list":["post-137","post","type-post","status-publish","format-standard","hentry","category-die-wochentliche-dosis-java"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=137"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/137\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}