[英]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.