忍者ブログ
[239] [238] [237] [236] [235] [234] [233] [232] [231] [230] [229]

DATE : 2017/09/20 (Wed)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2006/12/25 (Mon)

Java SE 5 以前

ICU4J (International Components for Unicode for Java) ライブラリを使います。ICU は Unicode を処理するライブラリです。Unicode には異なるコードで表された同じ文字を特定のコードに統一する「Unicode 正規化」という仕様があります。ICU は、この仕様に基づいて文字コードを変換します。

Unicode 正規化を用いて全角英数や半角カナを変換するには、com.ibm.icu.text.Normalizer を使用します。target 変数に格納された String 型の文字列を変換するコードは、次のようになります。

String result = Normalizer.normalize(target, Normalizer.NFKC);

「Normalizer.NFKC」というのは、正規化の方法を表しています。「NF」は「正規化形式(Normalizer Form)」を表し、「KC」は「互換合成(Compatibility Composition)」を表しています。つまり、正規化の統一先の文字と互換性のある文字であれば正規化され、1文字分のコードが2つ以上に分かれている場合はコード1つになるように合成されます。そのため、全角英数は半角に、半角カナが全角に変換されるわけです。

Java SE 6 以降

java.text.Normalizer を使います。

上の例を java.text.Normalizer で書き直すと、次のようになります。

String result = Normalizer.normalize(target, Normalizer.Form.NFKC);

参考文献

PR
●この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
●この記事へのトラックバック
この記事にトラックバックする:
忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)
ブログ内検索
最近の状況
リンク
カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)