こんばんは。福岡の藤川です。
栃木県の田中さん、ご丁寧な解説ありがとうございました。早速試して
みました。しかし、手元で起こっている文字化け自体は改善されませんでした。
以下、ちょっとややこしい話になります。興味のない方、申し訳ございません。
具体的に書きますと、バイナリーファイル中の
0x00 0xBE 0x89 0x00
という4バイトのデータを txGetChar を使って読み取ると、結果が
0x00 0xBE 0x00 0x00
のように、0x89 が消滅してしまいます。fBinedit を変更したり元に戻したり、
fGetCharBytes を変更したり戻したりと、いろいろ試しましたが、結果は
同様でした。
ところが、txGetChar の戻り値が TXCHAR らしいので、試しに4桁の
16進コードで表示させてみると、
0x0000 0x00BE 0x8900 0x0000
と、3バイト目だけが符号なし整数の上位バイトに移っていました。
漢字コードの一部として扱われているのかとも思いましたが、どうも違うみたい
です。txGetChar の戻り値を (mchar) でキャストしてみたのですが、これでは
やはり0になってしまいました。やむなく、
unsigned char OneByte(unsigned int c
{
if (c > 0xFF)
{
c = (c & 0xFF00) / 0x100;
}
return c;
}
という関数を作って、
c = OneByte(txGetChar(text));
などと書いてはみたものの、これはみっともないですし、何か根本的に間違って
いるような気がします。
_wz.h の中をあちらこちらと調べてはみたのですが、知識不足、経験不足の
ため、お手上げ状態です(汗)。バイナリーファイルを txRightBytes と
txGetChar で読み取ろうとするのは間違いなのでしょうか。何かよい方法が
ありましたら、ご教授いただければ幸いです。とはいえ、大変お忙しい時期だと
存じますので、ご無理はなさらないようお願いいたします。
今回お教えいただくまで、api.tml と txc.tml しか読んでいなかったので、
_wz.h についてご指摘いただいて、とても勉強になりました。でも、私には
これだけではとても理解できそうにないので、ソースコードのサンプル集を
探してみたいと思います。本当にありがとうございました。
藤川 敦志 a-fujikawa@mx2.tiki.ne.jp
Received: from mx2.tiki.ne.jp (mx2.tiki.ne.jp [202.214.149.65]) by sl.sakura.ne.jp (8.9.2/[SHINGUJI/SAKURA-990115]) with ESMTP id CAA13816 for <windows@sl.sakura.ne.jp>; Wed, 28 Nov 2001 02:50:02 +0900 (JST) Received: from TikiTiki (3d728c-045.tiki.ne.jp [61.114.140.45]) by mx2.tiki.ne.jp (8.9.3/3.7W) with SMTP id CAA16403 for <windows@sl.sakura.ne.jp>; Wed, 28 Nov 2001 02:49:56 +0900 (JST) Message-ID: <000f01c1776b$ff58cbe0$0200a8c0@TikiTiki> From: "藤川 敦志" <a-fujikawa@mx2.tiki.ne.jp> To: <windows@sl.sakura.ne.jp> References: <200111262134.4F25WAHW@po.lancenet.or.jp> <000301c1768e$d86c62e0$0200a8c0@TikiTiki> <200111271523.8LMDO4JE@po.lancenet.or.jp> Subject: [windows:6146] Re:WZマクロでファイルをバイナリオ ープン Date: Wed, 28 Nov 2001 02:50:26 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 Sender: owner-windows@sl.sakura.ne.jp X-ML-Sequence: 6146 X-ML-Name: windows Precedence: bulk Reply-To: windows@sl.sakura.ne.jp |