2009年6月23日 1:29 pm #7698
星くず 彼方に
参加者
横から失礼します
ShiftJISは範囲内の全ての番号を使い切ってるわけではないので、
>>第一バイトが0x81~0x9F・0xE0~0xFC
>>第二バイトが0x40~0x7E・0x80~0xFC
>>と0x0D0Aだけで構成されていることは確認済みです。
であっても EmEditorの内部コードであると思われるUNICODEに変換できるとは限りません。
たとえば 0x81 0xB0 はShiftJISの範囲内ですが、文字が割り当てられておらず、UNICODEにも変換できません。
(後で調べたらShift_JIS-2004では文字が割り当てられてるようです。しかしながら 少なくともXPSP3ではUNICODEへ変換できない状況は変わらないようです)
なので、
プログラマさんのようなので、一度、全文字UNICODEに変換できるか試してみてははいかがでしょう?
そのときはMultiByteToWideCharの第二引数にMB_ERR_INVALID_CHARSを指定してやってください。
もし変換できない文字が含まれてたら失敗して0が帰ってきます。
これできっちり全ての文字が変換できたら、あなたのファイルは、より確実に白であるといえるでしょう。
>>その二つのファイルをバイナリで比較するとまったく同一のファイルでした。
のほうは、わかりませんが・・・