前提・実現したいこと
MatlabかPythonでファイルを2進数(01)で読み書きするプログラムが作りたいです。
ここに質問の内容を詳しく書いてください。
情報埋め込みに関するプログラムを作っています。
そのために、埋め込みたいファイルを2進数で取得する必要があります。
埋め込み後に戻す際、2進数(01ビット)から埋め込み前と同じ状態のファイルを作る必要があります。
現在は、バイナリ16進数にて読み込み、2進数に変換していますが、01のビットのキリが良くないと2進数に変換した際に余分な0が含まれていると思います。
そのため、16進数に戻してファイルを再構築しても埋め込み前のオリジナルデータと一致しないと考えられます。
これらを解決するために、1bit単位でファイルの読み書きをする方法を教えていただきたいです。
もしくは検索すると良いことばなどを教えていただけますでしょうか。
よろしくお願いします。
(追記)
ご回答ありがとうございます。
少々考えてから書かせていただきます。
プログラムは見せれる部分を用意できれば書きたいと思います。
みなさんありがとうございます。
(追記2)
ファイルの読み書きがビット単位と勘違いしていたようで、実際はバイト以上の単位なんですね。知識がない人間の文章から推測していただき、皆様ありがとうございます。
埋込むデータのファイルがおそらくバイト単位となるので問題ないようです。
バイナリ読み込みにより8ビットずつ16進数で読み込まれ、2進数に変換し1ビットずつ埋込みます。
埋込みは省略して、この2進数の情報を16進数に戻し、ファイルを構成すると元に戻らないのではないかと思っていましたが、勘違いのようです。お騒がせしてすみませんでした。
ありがとうございます。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
16進数のファイル読み込みから2進数に変換したが、元ファイルと同等のファイルを構成できない。(変換時の余分な01のため。)
補足情報(FW/ツールのバージョンなど)
Matlab2004年
回答4件
あなたの回答
tips
プレビュー