|
分類:[VB.NET (Windows)]
WIN XP VB2005
日本語データ6バイトを、3バイトづつに分割し出力するとデータが壊れてしまいます。 半角のみのデータですと上手くできたのですが、全角が含まれていると期待通りになりません。 日本語データをバイト配列に格納するまでは確認できました。(バイナリエディタと比較)
Dim chArray as Byte() = System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes("あいう")
chArray(0) = 130 0x82 chArray(1) = 160 0xA0 chArray(2) = 130 0x82 chArray(3) = 162 0xA2 chArray(4) = 130 0x82 chArray(5) = 164 0xA4
strOut = System.Text.Encoding.GetEncoding("Shift_JIS").GetString(chArray, 0, 3) outf.WriteLine(strOut) strOut = System.Text.Encoding.GetEncoding("Shift_JIS").GetString(chArray, 3, 3) outf.WriteLine(strOut)
上記のようなソースで、出力ファイルへライトすると以下のようになります。 (HEX表記) 82 A0 81 45 0D 0A A2 82 A4 0D 0A ↑ 0x45が出力されないでほしいのです。 どのようにすればよろしいのでしょうか。 また、なぜ0x45が出力されてしまうのでしょうか。
よろしくお願いします。
|