「.NETでJISコードの半角カナを使いたい」の版間の差分
ナビゲーションに移動
検索に移動
5行目: | 5行目: | ||
いまだに[[アセンブラ]]を使っている人たちは文字は全て1バイトの範囲に収めたいからだ。 | いまだに[[アセンブラ]]を使っている人たちは文字は全て1バイトの範囲に収めたいからだ。 | ||
日本製のハードウェアは[[RS-232C]]からの出力に「[[JIS X 0201]]」で「半角カナ」を含めてくるなんてのはザラだ。 | 日本製のハードウェアは[[RS-232C]]からの出力に「[[JIS X 0201]]」で「半角カナ」を含めてくるなんてのはザラだ。 | ||
− | + | いわゆる理化学系の検査機から出てくるレシートなんかがまさにこれ。 | |
POSレジみたいに大量に売れるものではないので進歩も遅い。 | POSレジみたいに大量に売れるものではないので進歩も遅い。 | ||
2018年3月9日 (金) 07:49時点における版
.NETでJISコードの半角カナを使いたい
様々なシステム間で連携しようとすると避けては通れないのが文字コードである。 とくにハードウェアの世界ではまだまだJISコードの最初期仕様「JIS X 0201」が使われている。 いまだにアセンブラを使っている人たちは文字は全て1バイトの範囲に収めたいからだ。 日本製のハードウェアはRS-232Cからの出力に「JIS X 0201」で「半角カナ」を含めてくるなんてのはザラだ。 いわゆる理化学系の検査機から出てくるレシートなんかがまさにこれ。 POSレジみたいに大量に売れるものではないので進歩も遅い。
そんな機器たちと通信するプログラムをC#で書きたいときにハマるのがこれ。
.NETのJISコードには2種類ある。
- iso-2022-jp
- 半角カナなし。
- 有名なのはこれ。ほとんどのサイトで「JISコード」というとこれを紹介している。
- System.Text.Encoding.Convertで文字コードを変換する際に半角カナが含まれていると強制的に全角カナになる。
- csISO2022JP
- 半角カナあり。
これ!
System.Text.Encoding.GetEncoding("csISO2022JP");
これ!
System.Text.Encoding.GetEncoding("csISO2022JP");
これ!
System.Text.Encoding.GetEncoding("csISO2022JP");
大事なことなので三回言いました。