[英]How to convert a hexadecimal character array into string in C++?
因此,我有這個數據包,我想使用TCP / IP協議將其發送到我的設備。 我的數組是:
unsigned char array1[] = {'0x00', '0x84', '0x00', '0x00', '0x00', '0x06', '0x54', '0x01', '0x00', '0x01', '0x00', '0x03'};
我希望將其轉換為字符串。 我該怎么做?
現在,我只是手動寫下等效的十進制數:
unsigned char array1[] = {0,132,0,0,0,6,84,5,0,2,255,0};
並將其轉換為字符串:
std::string data ( array1, array1 + sizeof array1 / sizeof array1[0] );
但是,我想知道我是否可以像字符串一樣直接使用十六進制數據包?
string x= "00 84 00 00 00 06 54 05 00 02 FF 00";
還有沒有一種方法可以設計我的消息頭,即前7個不變的字節? 其余部分有什么變化?
以下代碼應滿足您的需求。
std::string s { "\x00\x01\x02\x03\x04", 5 };
使用std :: string構造函數,該構造函數也采用長度(即字節數)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.