假設只有乙個位元組,即最多有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...