「.NETでJISコードの半角カナを使いたい」の版間の差分
編集の要約なし |
imported>Administrator 編集の要約なし |
||
| (他の1人の利用者による、間の2版が非表示) | |||
| 3行目: | 3行目: | ||
様々なシステム間で連携しようとすると避けては通れないのが[[文字コード]]である。 | 様々なシステム間で連携しようとすると避けては通れないのが[[文字コード]]である。 | ||
とくに[[ハードウェア]]の世界ではまだまだJISコードの最初期仕様「[[JIS X 0201]]」が使われている。 | とくに[[ハードウェア]]の世界ではまだまだJISコードの最初期仕様「[[JIS X 0201]]」が使われている。 | ||
いまだに[[アセンブラ]] | いまだに[[アセンブラ]]を使っている人たちは文字は全て1バイトの範囲に収めたいからだ。日本製のハードウェアは[[RS-232C]]からの出力に「[[JIS X 0201]]」で「半角カナ」を含めてくるなんてのはザラだ。いわゆる理化学系の検査機から出てくるレシートなんかがまさにこれ。 | ||
POSレジみたいに大量に売れるものではないので進歩も遅い。 | POSレジみたいに大量に売れるものではないので進歩も遅い。 | ||
そんな機器たちと通信する[[プログラム]]をC#で書きたいときにハマるのがこれ。 | |||
.NETのJISコードには2種類ある。 | .NETのJISコードには2種類ある。 | ||
2018年7月3日 (火) 22:43時点における最新版
.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");
大事なことなので三回言いました。