{"id":1529,"date":"2012-08-23T13:50:34","date_gmt":"2012-08-23T11:50:34","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1529"},"modified":"2012-08-23T13:50:34","modified_gmt":"2012-08-23T11:50:34","slug":"unicode-skripte","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2012\/08\/unicode-skripte\/","title":{"rendered":"Unicode-Skripte"},"content":{"rendered":"<p>Neben den Unicode-Bl\u00f6cken gibt es noch ein anderen Konzept, was vielleicht noch wichtiger als die Bl\u00f6cke selbst sind: Unicode-Skripte. Darunter ist eine Gruppe von Zeichen f\u00fcr eine Sprache (in der Regel) zu verstehen.[1] Um den Unterschied zu Bl\u00f6cken noch einmal zusammenzufassen:<\/p>\n<p>\u00b7 Ein Unicode-Block ist ein einfacher von-bis-Bereich, und Stellen k\u00f6nnen f\u00fcr die sp\u00e4tere Belegung leer sein.<\/p>\n<p>\u00b7 Ein Unicode-Skript enth\u00e4lt keine freien Positionen.<\/p>\n<p>\u00b7 Zeichen eines Unicode-Skripts k\u00f6nnen aus verschiedenen Unicode-Bl\u00f6cken stammen.<\/p>\n<p>\u00b7 Zeichen aus einem Block k\u00f6nnen in verschiedenen Unicode-Skripten auftauchen.<\/p>\n<p>Auch f\u00fcr Skripte bietet Java in der Klasse Character ein \u00f6ffentliches statische innere Attribut, wobei das erst seit Java 7 existiert und Oracle hier ein moderneres enum gew\u00e4hlt hat. Character.UnicodeScript besteht aus einer Reihe von Konstanten, wobei die Namen nach ISO 15924[2] gew\u00e4hlt sind. Auch gibt es eine of(int) Methode um das Skript f\u00fcr ein Zeichen zu erfragen und ein UnicodeScript-Objekt kann \u00fcber forName(String) mit einem Namen aufgebaut werden.<\/p>\n<p>Auch wenn die Character und String-Klasse arm an weiteren Methoden zu den Unicode-Bl\u00f6cken und Unicode-Skripten ist, gibt es doch Unterst\u00fctzung von ganz anderer Stellen: Von den regul\u00e4ren Ausdr\u00fccken. Sie k\u00f6nnen testen, ob Zeichen in gewissen Skripten oder Bl\u00f6cken sind und damit Zeichen in Teilstrings aufsp\u00fcren, sie l\u00f6schen und entfernen. (Wir springen nun thematisch etwas vor.) Die Syntax in den regul\u00e4ren Ausdr\u00fccken ist \\p{script=Skriptname} bzw. \\p{block=Blockname} (auch der Pr\u00e4fix Is oder In ist erlaubt ohne Nutzung vom script=\/block=-Konstrukt). Achtung, Nicht alle Unicode-Skripts werden unterst\u00fctzt!<\/p>\n<p>Beispiel<\/p>\n<p>Teste drei Zeichen, ob sie arabisch sind:<\/p>\n<p>System.out.println( &quot;\u062d&quot;.matches( &quot;\\\\p{script=Arabic}&quot; ) ); \/\/ true<\/p>\n<p>System.out.println( &quot;\u062d&quot;.matches( &quot;\\\\p{IsArabic}&quot; ) ); \/\/ true<\/p>\n<p>System.out.println( &quot;\u05e9&quot;.matches( &quot;\\\\p{IsArabic}&quot; ) ); \/\/ false<\/p>\n<p>System.out.println( &quot;1&quot;.matches( &quot;\\\\p{IsArabic}&quot; ) ); \/\/ false<\/p>\n<hr size=\"1\" width=\"33%\" \/>\n<p>[1] Siehe auch http:\/\/www.unicode.org\/reports\/tr24\/.<\/p>\n<p>[2] http:\/\/unicode.org\/iso15924\/iso15924-codes.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neben den Unicode-Bl\u00f6cken gibt es noch ein anderen Konzept, was vielleicht noch wichtiger als die Bl\u00f6cke selbst sind: Unicode-Skripte. Darunter ist eine Gruppe von Zeichen f\u00fcr eine Sprache (in der Regel) zu verstehen.[1] Um den Unterschied zu Bl\u00f6cken noch einmal zusammenzufassen: \u00b7 Ein Unicode-Block ist ein einfacher von-bis-Bereich, und Stellen k\u00f6nnen f\u00fcr die sp\u00e4tere Belegung [&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":[11],"tags":[],"class_list":["post-1529","post","type-post","status-publish","format-standard","hentry","category-insel"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1529","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=1529"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1529\/revisions"}],"predecessor-version":[{"id":1530,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1529\/revisions\/1530"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}