0

PNGファイルのデータを非表示にする簡単なステガノグラフィプログラムを作成しています。1バイトのデコード/エンコードは簡単でしたが、PNGファイルのヘッダーも非表示にする必要があります。このヘッダーには、ファイルを抽出するために必要なバイト数を正確に知るためのファイルサイズがバイト単位で含まれます(バイト数が多すぎると、抽出されたファイルが破損します)。

したがって、整数を1バイトに分割する必要があります(FBの整数は32ビット幅であるため、4つの別々のバイトになります)。次に、これらのバイトはPNG画像の最初の16ピクセルにエンコードされます(私のステガノグラフィアルゴリズムでは、1デコードされたバイト= 4エンコードされ、データストレージにR値とB値のみを使用します)。どうすればこれを行うことができますか?

TL; DR:整数を4つの個別のバイトに分割し、それらのバイトを再び整数にマージする方法を知る必要があります。

4

1 に答える 1

1

FBフォーラムの私の友人であるMysoftは、その方法をこの例で作成しました。また、応答性とクイックアンサーstackoverflowのコミュニティに感謝します。

dim as integer x = &hFF88442211, y
dim as integer b1,b2,b3,b4

b1 =  x and &hFF
b2 = (x shr 8) and &hFF
b3 = (x shr 16) and &hFF
b4 = (x shr 24) and &hFF

y = b1+(b2 shl 8)+(b3 shl 16)+(b4 shl 24)

print hex$(x),hex$(y)
print hex$(b1),hex$(b2),hex$(b3),hex$(b4)
于 2011-11-15T19:00:31.890 に答える