[英]encode and decode data in C
我必須編寫一個對數據進行編碼並將其存儲到緩沖區中的C程序,以便以后對該緩沖區執行一些操作。 我有以下結構:
typedef uint64_t time64;
typedef int32_t sint32;
typedef struct
{
sint32 latitude;
sint32 longitude;
int16_t elevation;
}ThreeDLocation;
typedef struct
{
uint8_t permission_indices;
char* data;
time64 expiry_time;
ThreeDLocation generation_location;
}data;
我想將data
結構編碼/解碼到單個緩沖區中。 我認為這稱為“序列化”和“反序列化”。
誰能給我一些如何解決這個問題的提示?
您可以嘗試將一個整數指向該結構並以這種方式讀出:
data blockdata;
int* serialdata;
int i;
int n = sizeof(data);
filldata(&blockdata);
serialdata = (int*)&blockdata;
for(i = 0; i < n; i++)
{
globalbuffer[index++] = serialdata[i];
}
不確定這是否有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.