このブログを検索

2010/12/10

[VB.NET] 文字と文字コード

私が現在勤めている某小企業のお仕事は、自治体のシステム開発。てなわけで、外字が絡んで文字コードをいじくることが多々ある。

とりわけ辛いのは、既存の数々の外字を、正字(内字)に置き換えるという話。
Unicodeでの外字をSJis範囲の字に同定させ、庁内LANシステムではそれをWebシステムで表示させ、住民の基礎データの閲覧を可能にする、というもの。

すんなりとSJis文字にぴったり合う字があればいいのだが、そもそもそれができないから外字を作成し続けたわけで・・・同定のやり直しは予想通り多発している。

というわけで一年のスパンを経て、外字ー内字の同定ツールを改良しているわけだが、ど忘れしている自分に気が付いた。私には備忘録が必要だ。

「BA19」などの16進数文字コードを、10進数変換、それを文字化するというだけなのだが。


全ては時の中に・・・ VB.NET 基数変換
http://blog.livedoor.jp/akf0/archives/51354842.html

MSDN chr / chrw 関数 ⇔ Asc / AscW関数
http://msdn.microsoft.com/ja-jp/library/613dxh46%28VS.80%29.aspx

VB.NET
 'BA19 などの16進数文字コードを10進数に変換
  Dim val As Integer = Convert.ToInt32("BA19", 16)
  txtMoji.Text = ChrW(val)
 '逆パターン 文字からUnicode16進文字コードを取得
txtCode.Tag = Hex(AscW(txtMoji.Text))
この作業がメインとなる。


さてさて、そもそも外字というのは必要なのか?という問題がまず根底にあるのは間違いない。

XMLで解決する外字問題
http://www.atmarkit.co.jp/fxml/rensai/frontier02/frontier02.html

少し古い記事だが、問題提起は今でも生きている。

0 件のコメント:

コメントを投稿