簡體   English   中英

在C中將二進制數據轉換為char []

[英]Convert binary data to char[] in C

我在C中有void *data ,它指向二進制數據(圖像),並想將其轉換為char* new_data以存儲在其他地方; 然后,我想將new_data轉換回二進制形式。

問題是,因為data在中間包含很多0 ,如果我這樣做

(char*) data

新的字符串將在第一個0處被截斷。 我的第一個想法是暫時將0轉換為其他值,但是會出現一個新問題。

什么是執行任務的好方法?

謝謝你的幫助

您不應將數據視為字符串。 您可以將其視為字節數組。 為此,我建議使用stdint.h定義的uint8_t類型。

通過將一種指針類型分配給其他指針類型不會更改數據本身。 似乎您在數據上使用字符串操作沒有意義。 如果您只想復制數據,請使用memcopy復制功能。 而且,如果您要操作數據,請鍵入cast的起始地址,即uint8_t *

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM