アプリ版:「スタンプのみでお礼する」機能のリリースについて

chr関数を使用して、バイナリレベルで自由なデータを、ファイルに出力したいと思っていますが、一部のデータがうまくいきません。

たとえば以下のようなコードを実行して、バイナリエディタで中身を見てみると、0x81~0x9Fと0xE0~0xFCまでが全て、0x00に変換されて出力されています。

Dim i As Long
Dim binHex As String
Open fileName For Binary As #1
For i = 0 To 255
  binHex = Chr(i)
  Put #1, , binHex
Next

0x81等をファイルに書き込む良い方法は無いでしょうか?
詳しい方、アドバイスをお願いいたします。

A 回答 (2件)

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …

リファレンス見れば、キャラクターコードの変換関数で、制御コード出てくる方がおかしいと思いますが。

バイナリに Chr()からのリターン値って意味が判らんですけど・・・
これは、テキスト形式にやる事ですよね?

この回答への補足

回答有難う御座います。

制御コードは出てこないんでしょうか?
0x00~0x1Fとかは出てるんですが・・・出るのと出ないのがある仕様なんでしょうか?

別にchr関数に拘ってる訳ではなく、バイナリレベルで操作したいだけです。
テキストエディタで読める必要はないんです。

補足日時:2007/04/01 07:42
    • good
    • 0

Dim i As Long


Open Filename For Binary As #1
For i = 0 To 255
 Put #1, , CByte(i)
Next

これでいいのでは?

この回答への補足

なんと!
Put で直接数値を書き込めたんですね!
Putの仕様が分かってませんでした。
有難う御座いました。

これでやりたいことが出来ると思います。

補足日時:2007/04/01 13:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!