- - PR -
ランダムな文字列生成
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-23 22:09
現在、Javaで色々なパターン(数値、アルファベット、ひらがな、カタカナ)
のランダム文字列生成処理を作成したいと思っています。 数値とアルファベットについては、 commons-langのRandomStringUtilsクラスで大丈夫と思ったのですが、 ひらがな、カタカナ、漢字などでランダム文字列を生成する方法 または、ライブラリなどありますでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2007-02-24 01:04
以前、他言語で上記のような機能を提供する自作関数を作ったことがあります。そのときはWindows開発だったため、文字コードがShift_JISという前提条件付きになりますが、以下のような文字コード体系になっていることからその中のランダムな文字コードを選択する処理にしました。
IMEの文字パレットなどを眺めてみれば上記範囲がよくわかるのではないかと思います。 | ||||
|
投稿日時: 2007-02-24 01:29
1. charの範囲(16bit)の乱数を生成する
2. java.lang.CharacterのisLetter()やisDigit()で判定する ⇒ 違うなら記号や制御コード等なので1に戻る 3. Shift_JISやEUC-JP等に変換できるか試してみる ⇒ 変換できなければ他言語なので1に戻る って流れを繰り返せばいいのでは? 中国語や韓国語の漢字が混じってもよいなら Character.UnicodeBlockを使ってもできるかも。 #やっぱりCJK Unificationって感じ悪いよなぁ・・・。 | ||||
|
投稿日時: 2007-02-24 15:51
今になって分離しようとしていたりしますし。 漢字のシソーラスは常に難しい問題を孕んでいますね… |
1