0

我正在制作一个简单的隐写术程序来隐藏 PNG 文件中的数据。解码/编码单个字节很容易,但我还需要在 PNG 文件中隐藏一个标题。此标头将包含以字节为单位的文件大小,以确切知道我需要多少字节来提取文件(太多字节和 tge 提取的文件将被损坏)。

所以我需要将整数分解为单个字节(因为 FB 中的整数是 32 位宽,这将导致四个单独的字节)。然后这些字节将被编码到 PNG 图像的前 16 个像素中(在我的隐写算法中,1 个解码字节 = 4 个编码,并且我只使用 R 和 B 值来存储数据)。我该怎么做?

TL;DR:我需要知道如何将整数分解为四个单独的字节,然后再次将这些字节合并为整数。

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 回答