字串轉換為十六進製制

2021-04-25 11:12:30 字數 887 閱讀 4816

一般的程式對字串操作,串列埠程式卻時常採用十六進製制串。我在本在的社群中看到一位大俠的乙個轉換演算法不錯,貼出來和大家貢獻。

char converthexchar(char ch);

int string2hex(cstring str, cbytearray &senddata,char*tag);

函式功能:將cstring 型別的str轉換成cbytearray型別,儲存在senddata中,tag是分隔符。

函式原型:

int string2hex(cstring str, cbytearray &senddata,char* tag)

senddata.setsize(hexdatalen);  

return   hexdatalen;

}char converthexchar(char ch)

{if((ch>='0')&&(ch<='9'))  

return   ch-0x30;  

else   if((ch>='a')&&(ch<='f'))  

return   ch-'a'+10;  

else   if((ch>='a')&&(ch<='f'))  

return   ch-'a'+10;  

else   return   (-1);  

例:要傳送的十六進製制資料為:ff,00,00,00,3f,00,##     分隔符為「,」

cbytearray senddata;

cstring str="ff,00,00,00,3f,00,## ";

string2hex(str,senddata,",");

接下來就可以把senddata.getdata()獲得的資料通過串列埠傳送出去了,這時傳送的是十六進製制的資料。

字串轉換為十六進製制

一般的程式對字串操作,串列埠程式卻時常採用十六進製制串。我在本在的社群中看到一位大俠的乙個轉換演算法不錯,貼出來和大家貢獻。char converthexchar char ch int string2hex cstring str,cbytearray senddata,char tag 函式功能...

在Python中將十六進製制字串轉換為int

如何在python中將十六進製制字串轉換為int?我可能將其設定為 0xffff 或 ffff 在上述dan的答案中加上 如果為int 函式提供了十六進製制字串,則必須將基數指定為16,否則它不會認為您給了它有效的值。對於字串中不包含的十六進製制數字,無需指定基數16。print int 0xdea...

十六進製制字串轉換為位元組陣列

第一步 將十六進製制的字串除以二,算出位元組陣列的長度 第二步 根據位元組陣列的長度,建立位元組陣列 第三步 將字串轉換為字元陣列 第四步 將字元轉換為位元組 第五步 十六進製制的位元組分為高四位與低四位,所以將高四位的位元組左移4位,再與第四位的位元組相或,就得到乙個十六進製制的位元組 第六步,將...