- 締切済み
バイナリファイルの編集
stirling,bzなどのエディタを用いて、バイナリファイルを編集しようとしています。 テキスト(a.txt)のデータをバイナリファイルにコピペしようとしたのですが・・・ テキストで「ff ff ff ff」と書いてあったデータが、バイナリファイルにコピペすると「4646~」というように変換されてしまいました。 バイナリファイルでも「ff ff ff ff」とコピーしたい場合はどのようにすれば良いのでしょうか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- Tasuke22
- ベストアンサー率33% (1799/5383)
ANo.5さん < 横から出てきてすみませんが、ANo.2の 私と同じ誤解をしているようなので。 質問者さんは、テキストでバイナリ表現、HEXダン プのようなものを、そのテキストからバイナリ編集 したいということで、0~Fのテキスト表現をバイナ リに変換したい訳です。 ANo.4さんのプログラムと説明を読めば具体的に 分かります。しかし短いプログラムとはいえ、ANo.4 さんの仕事は素早いですね。どんな言葉より、C言語 が具体的な表現ですね。
- koma30007
- ベストアンサー率87% (173/198)
>テキストデータ「ff ff ff」をバイナリとして貼り付けたいのですが、 >(バイナリ部分に「ff ff ff」の表示がでるようにしたい) テキストデータとして「FF FF FF」である場合、バイナリは 「FF FF FF」ではありませんから無理です。 テキスト「FF FF FF」を貼り付けた場合に、「FF FF FF」と 表示されるのはバイナリエディタではありません。 ※テキスト表示部分を除きます。 >「ff ff ff」がシフトJISに変換された値「46 46~」が貼り付けられてしまいます。 シフトJISに変換された値ではなくて、それが「FF FF」の バイナリコードです。 バイナリ表示部分で「46 46~」をコピーして貼り付けた後 保存し、今度はテキストエディタでファイルを開いてみて ください。 「FF FF」がコピーして貼り付けた分だけ増えているはず です。 バイナリ部分に「FF FF」を貼り付けたい場合は、バイ ナリデータが「FF FF」である必要がありますので、他 の回答者さんが言うように、バイナリエディタで入力 してからコピーするしかないと思います。 BZは複数起動できますので、2個起動して試すと良いです。 ここでは例として「FF FF」なのですよね? バイナリが「FF FF」の部分は、ほとんどのエディタでは 表示できないと思います。 「サクラエディタ」では黄色い「・・・」で表示されます。 ※ステータスバー右下にバイナリコードも表示されます。
- _himajin_
- ベストアンサー率65% (128/195)
たぶん普通のバイナリエディタじゃ出来ないんじゃないかなぁと思います。 それだけじゃ何なので…#3さんのやり方をするためにちょっと楽が出来るようなものを作ってみたんで良ければどうぞ。
お礼
わざわざプログラムまで作成していただきありがとうございます。
- Tasuke22
- ベストアンサー率33% (1799/5383)
Ano.2です。 そういうことでしたら、テキストエディタで ffと入力するのではなくて、 バイナリエディタでffと入力してコピーでは ないでしょうか?コピーする意味が無くなり ますが。 テキストエディタからの場合、0~f以外の文字 があった場合のチェックや動作とか考えると どうでしょうか?何をされたいのか、目的が 見えないです。
- Tasuke22
- ベストアンサー率33% (1799/5383)
「ff ff ff ff」が「ff ff ff ff」になったら、それは テキストエディタです。 バイナリエディタだから「4646~」となる訳です。 失礼ですが、バイナリの意味をご理解されていますか?
補足
誤解があるようです。 質問の意図は、 テキストエディタで入力したデータ「ff ff」を、バイナリエディタでそのまんま貼り付ける(つまり貼り付けた結果「ff ff」となる) 良い方法を知りませんか? ということです。
- koma30007
- ベストアンサー率87% (173/198)
BZで出来るはずです。 テキストを選択してから、BZで貼り付けたい位置にカー ソルを置いて貼り付けるとそのまま挿入されます。 貼り付ける時は、バイナリ表示部分でもテキスト表示 部分でも、どちらにカーソルを置いてあっても大丈夫 です。 バイナリ部分の表示は、「66 66 66」などの表示になり ますが、テキスト表示部分は「ff ff ff」のままです。
補足
再度チャレンジしましたが、bzでできません・・・。 設定がいけないのでしょうか? テキストデータ「ff ff ff」をバイナリとして貼り付けたいのですが、 (バイナリ部分に「ff ff ff」の表示がでるようにしたい) 「ff ff ff」がシフトJISに変換された値「46 46~」が貼り付けられてしまいます。
お礼
補足ありがとうございます。 No.4さんを参考に私もプログラムを書いて自己解決致しました。 まんまバイナリに変換したいテキストデータが大量にあったので、楽をしたいと思って質問させていただきました。 みなさまありがとうございます。