2011-11-15 23 views
0

我正在做一個簡單的隱寫術程序來隱藏PNG文件中的數據。對單個字節進行解碼/編碼非常簡單,但我也需要在PNG文件中隱藏一個標題。這個頭文件將包含文件大小(以字節爲單位),以確切知道需要多少字節來提取文件(太多的字節和提取的文件將被損壞)。因此我需要將整數分成單個字節(因爲FB中的整數是32位寬,這將導致四個單獨的字節)。然後這些字節將被編碼成PNG圖像的前16個像素(在我的隱寫算法1解碼字節= 4編碼,並且我只使用R和B值進行數據存儲)。我該怎麼做?如何將整數分解爲單個字節並在FreeBASIC中再次合併它們?

TL; DR:我需要知道如何將整數分解爲四個單獨的字節,然後再將這些字節合併爲整數。

回答

1

我的朋友在FB論壇上,Mysoft created this example how to do that。此外,感謝您的響應和快速回復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) 
+2

它可能是一個好主意,包括在你的答案的代碼。這樣你可以避免鏈接腐爛 –

+0

我不知道它是否違反SO規則,所以發佈鏈接到pastebin只是爲了確保。我訪問的大多數編程站點都喜歡pastebin鏈接而不是嵌入代碼。 –

+0

有自己的答案站在首選。鼓勵在問題和答案中包含代碼。事實上,網站用戶的谷歌代碼美化和基於問題標籤語法突出顯示,雖然Freebasic不在[支持列表突出顯示](http://meta.stackexchange.com/questions/981/syntax-highlighting-語言提示) –

相關問題