人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

入力する文字で、第1水準、第2水準までを使用したいのですが、プログラムのロジックで制御したりすることは可能なのでしょうか。

●質問者: kotobajp
●カテゴリ:コンピュータ
✍キーワード:プログラム ロジック 入力
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●35ポイント

可能です。

文字を一文字単位に分割して、その文字のキャラクタコードが第一及び第二水準の中に含まれていれば○、範囲外なら×というロジックを組めば良いのですが、どのような環境(WindowsやMacなどで動く特定のプログラム? それともWEB系の処理?などなど)で、どのような処理系(言語)なのかによって具体的な対応方法は微妙に異なりますので、そのあたりを私への返答に加えておいていただけると、より具体的な回答を得やすくなると思いますよ。

キャラクタコード表の例

http://www.asahi-net.or.jp/~ax2s-kmtn/ref/jisx0208.html

◎質問者からの返答

kn1967さんご回答ありがとうございました。

また、貴重なご指摘ありがとうございます。

環境はWindows上で動く単体のプログラムで、VB.Netで組まれています。

本プログラムの用途といたしましては、CSV形式のテキストを読み込み、読み込んだデータを配列に格納、カンマごとに区切られた項目をそれぞれチェックするというバッチ系のプログラムになります。

今回質問としてあげさせていただいた部分はある特定の項目にある全角の漢字が第一及び第二水準内に含まれているいるかどうかをチェックしたいというものです。

より参考になるご意見をお持ちでしたら、是非教えてください。よろしくお願い致します。


2 ● ardarim
●35ポイント

VB.NETということであれば、次のような手順になるかと思います。

(1)チェック文字(列)がString型であれば、UnicodeなのでシフトJISに変換する。

System.Text.Encoding.GetEncoding(932).GetBytes("String型の文字列を指定する")

でシフトJISに変換されたバイト列を取得できます。

(2)シフトJISのバイト列から第1水準または第2水準をチェックする。

第1水準=&h889F?&h9872

第2水準=&h989F?&hEAA4


2文字以上チェックが必要な場合は、String型の時点で1文字ずつ切り出してからシフトJISに変換してコードチェックすると良いと思います。

◎質問者からの返答

ご回答ありがとうございました。

大変参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ