字串到十六進製制的轉換

2021-06-19 20:59:41 字數 472 閱讀 6974

假設只有乙個位元組,即最多有8個bit位

那麼從「0x21」到0x21,思路如下:

uchar *s = "0x21";

uchar c1 = s[2];

uchar c2 = s[3];

//開始處理c1,c2 同理,這裡只處理c1了

//如果c1 是0~9

if(48=c1 -= 48;//減掉48的原因是 c1現在還是ascii編碼,0-9對應的值是48-57,減掉48,剛好就是0-9了,下面的減掉55同理

}else if(65 <= c1 <= 70)  //如果c1 是a~f,

c1 -= 55;

}else{//超出範圍啦

//錯誤處理

//處理c2

uchar result = ((c1<<4)&0xf0)   |  (c2&0x0f);

return reslut;

result 就是0x21了

字串轉換為十六進製制

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

字串轉換為十六進製制

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

C 字串與十六進製制轉換

函式 encode 作用 將字串內容轉化為16進製制資料編碼,其逆過程是decode 引數說明 strencode 需要轉化的原始字串 轉換的過程是直接把字元轉換成unicode字元,比如數字 3 0033,漢字 我 u 6211 函式decode的過程是encode的逆過程.public stat...