一般的程式對字串操作,串列埠程式卻時常採用十六進製制串。我在本在的社群中看到一位大俠的乙個轉換演算法不錯,貼出來和大家貢獻。
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位,再與第四位的位元組相或,就得到乙個十六進製制的位元組 第六步,將...