タグ

unicodeに関するHayatoのブックマーク (11)

  • 「Java 6 でIVSを比較すると何が起こるか」の記事の誤り - Cafe Babe

    以下の記事に誤りが散見されるが,それが広まるのは望ましくないので,ここで誤りを指摘しておく. 「Java 6 でIVSを比較すると何が起こるか」(yanok.net) まず,Javaの文字列の同一性判定の話である. これは想像通りですね。単にcharの列を比較しただけの結果になっています。つまり、見た目の区別がつかなくても容赦なく別々の文字列として扱っています。これが何をもたらすかというと、Stringクラスで比較しているプログラムに対しては、"与" と "与[0E0100]" と "与[0E0102]" を、見た目の区別がないにもかかわらず、人が入力し分けてやらないと困ることになるということです。 Java言語でUnicode文字列が同一性を判定するには,いくつかの方法がある. java.lang.String#equals()…単なるUnicode文字シーケンスの同一性を判定する ja

    「Java 6 でIVSを比較すると何が起こるか」の記事の誤り - Cafe Babe
  • 漢字1文字が最大8バイト、Unicodeの「IVS」とは?

    「漢字1文字は2バイト」という常識が、大きく変わろうとしている。現在改正中の「常用漢字表」に対応するためには、Unicodeの4バイト文字を使用する必要があるが、それだけでは済まない恐れがある。今後、戸籍や住民基台帳で使われている文字がUnicodeに追加されると、漢字1文字が最大8バイトになるかもしれない。文字コードに詳しい京都大学人文科学研究所附属東アジア人文情報学研究センターの安岡孝一准教授が、問題の核心を解説する。(日経コンピュータ) 先日公開した『新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能』の読者から、「今後のシステムでは漢字1文字を最大4バイトで処理すればいいのか」という質問を頂いた。実は、UTF-8あるいはUTF-16で漢字を表す場合、最新のUnicodeにおけるIVS(Ideographic Variation Sequence)を考慮すると、漢

    漢字1文字が最大8バイト、Unicodeの「IVS」とは?
    Hayato
    Hayato 2010/12/04
    初めて認識した>IVS
  • Java6にはUnicode正規化の機能がいるそうな : mwSoft blog

    恥ずかしながら、先月くらいに気付いたのですが、Java1.6からはSDKにUnicode正規化に関する機能が標準搭載されているようで。便利になったものですな。 java.text.Normalizerで、normalizeと書くだけで実行出来ます。 以下、サンプル。変な文字使ってるので機種によって化けるかもしれません。ご了承ください。 import java.text.Normalizer; public class Test { public static void main(String[] args) throws Exception { /****** 平仮名の「が」 ******/ // 正規分解とそれに続く正規合成 Normalizer.normalize( "が", Normalizer.Form.NFC ); // => が // 正規分解 Normalizer.norma

  • The Unicode Standard 5.1 Code Charts

    Mahjong Tiles Range: 1F000–1F02F The Unicode Standard, Version 5.1 This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 5.1. Characters in this chart that are new for The Unicode Standard, Version 5.1 are shown in conjunction with any existing characters. For ease of reference, the new characters have been highlighted in the cha

  • Perl の utf8 まわりのおまじない

    Perl の utf8 まわりのおまじない 2009-09-12-4 [Programming] 自分用メモ。 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); (追記:より良いおまじない。詳細は後述。 $text = Encode::decode_utf8($text) unless utf8::is_utf8($text); ) PerlCGI モジュールでクエリから得られるデータの文字列のutf8フラグの有無が環境によって違うことがあってイライラ。 でもこのおまじないでなんとかなった。 こんな文脈で使う: use utf8; use CGI; ... my $text = $q->param('text') || ""; utf8::decode($text) unless utf8:

    Perl の utf8 まわりのおまじない
  • ICU - International Components for Unicode

    2024-04-17: ICU 75 is now available. It updates to CLDR 45 (beta blog) locale data with new locales and various additions and corrections. C++ code now requires C++17 and is being made more robust. The CLDR MessageFormat 2.0 specification is now in technology preview, together with a corresponding update of the ICU4J (Java) tech preview and a new ICU4C (C++) tech preview. See Downloading ICU > ICU

    Hayato
    Hayato 2009/03/29
    UNICODE正規化やエンコーディング判定など
  • Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改メ tokuhirom’s blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 404 Blog Not Found:perl - utf8::is_utf8("\x{ff}") == 0

    2008年02月18日10:00 カテゴリLightweight Languages perl - utf8::is_utf8("\x{ff}") == 0 ちょうどいい機会なので、Perl 5.8以降におけるutf8フラグの立ち方を。 unknownplace.org - 2008/02/17 - utf8::is_utf8 ということで、"\x{6751}\x{702c}\x{5927}\x{8f14}" などというData::Dumper表記でかならずしも utf-8フラグがたつわけじゃない。ということがいいたかったんだと思うのだけれど、 \x{UUUUUU}とutf8 flag まずはクイズです。以下がどう出力されるかを答えなさい。 sub pfrag{ print utf8::is_utf8($_[0]) ? 1 : 0, "\n" } pfrag "Hell\xC3, worl

    404 Blog Not Found:perl - utf8::is_utf8("\x{ff}") == 0
  • Perl5.8 での Unicode 文字列の注意点

    Amazon Search とかを EUC ベースから UTF8 ベースで実装し直したのですが、場合によって length や substr 等の文字列関数で処理が違うことが判明。備忘録として記事にしました。 Perl5.8 では Unicode 文字列に対して UTF8 フラグという内部データを設けて、その有無によって文字単位で扱うかバイト単位で扱うかを決定しています。また UTF8 フラグの ON/OFF は utf8 モジュールのutf8::encode() と utf8::decode() によって操作できるようになっています。 バイト単位でUnicode文字列を扱いたいときは、utf8::encode() によって、UTF8 フラグを OFF に、文字単位でUnicode文字列を扱いたいときは、utf8::decode() によって、UTF8 フラグを ON にする必要があります

  • UAX #15: Unicode Normalization Forms

    Summary This annex describes normalization forms for Unicode text. When implementations keep strings in a normalized form, they can be assured that equivalent strings have a unique binary representation. This annex also provides examples, additional specifications regarding normalization of Unicode text, and information about conformance testing for Unicode normalization forms. Status This documen

    Hayato
    Hayato 2007/11/02
    文字の正規化
  • サロゲートペア入門:CodeZine

    はじめに Windows VistaのJIS2004対応により、WindowsのUnicode環境で使用できる日語漢字の数が増えました。従来、12238字(Windows XP)だったのが13145字(Windows Vista)になり、907字追加されることになりました。これによって、JIS第3水準、JIS第4水準の漢字がすべてサポートされることになったのです(Windows XPまでは一部サポート)。 またWindows XPでも、パッチさえ当てれば、Windows Vistaと同じように追加907字を加えた13145字の漢字が使用できるようになりました。 ところが、この追加された907字の中には「サロゲートペア」という特殊な文字が304字あり、これらは今までのUnicodeの文字とは扱いが少し違います。この点について解説していきたいと思います。 対象読者 Unicode

  • 1