tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 区点コードからの文字入力
投稿日: 2011/09/07(Wed) 20:13
投稿者YuO
> 件名通りなのですが、
> テキストボックス1に区点コードを入力
> ↓
> テキストボックス2に対応した漢字を表示
> というプログラムを作りたいのですが、
> 区点コードから漢字を取得する方法を
> ご存じの方、教えて頂けないでしょうか。

直接的な方法はないですが,
・ISO-2022-JPのG0をJIS X 0208に選択するエスケープバイト列,区点コードの両バイトに&H20をそれぞれ足した値,を並べたバイト列をEncoding.GetEncoding("ISO-2022-JP").GetStringに渡す
・両バイトに&HA0足してEUC-JPのG1扱いにしてEncoding.GetEncoding("EUC-JP").GetStringに渡す
あたりが思いつきます。

が……

> 該当PCには外字がたくさん登録されており、
> よく使う文字は区点コードを控えているので
> 区点コードから入力できれば… と思っております。

95区以上はJIS X 0208 (94 x 94) の範囲外であるため,この範囲のPUAを表すにはShift_JIS扱いになるよう計算して変換しないといけません。
PUAはISO-2022-JP/EUC-JPで表せない範囲まであるので,一番の解決策はPUA領域の文字はUnicodeで文字コードを記録しておくことだと思います。
# PUA : Private Use Area

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。