問題:
將乙個字串轉換為16進製制數,例如「12」轉換為0x12, "12345678"轉換為0x12345678。
注意: 轉換前每乙個字元占用乙個位元組,轉換後兩個數字占用乙個位元組,如「12345678"占用8個位元組,轉換後占用四個位元組:0x12, 0x34, 0x56, x078.
實現:
#include
#include
intchar2bcd
(char str,
unsigned
char
*value)if(
isdigit
(str)
)elseif(
islower
(str)
)elseif(
isupper
(str)
)else
return0;
}int
getvaluefromstr
(char
*string,
unsigned
int length,
unsigned
char
*value)
//*value = 0;
if(length%2)
value[0]
= p;
for( i =
1;i<
((length+1)
>>1)
; i++
) ret =
char2bcd
(string[
2*i]
,&q);if
(ret <0)
//*value = (*value << 8) + (p << 4) + q;
value[i]
=(p <<4)
+ q;}}
else
ret =
char2bcd
(string[
2*i +1]
,&q);if
(ret <0)
//*value = (*value << 8) + (p << 4) + q;
value[i]
=(p <<4)
+ q;}}
return0;
}
16進製制字串轉換為位元組
最近在專案中遇到乙個小問題,記錄下來以備後用。語句 string str1 2a byte b1 convert.tobyte strmd51 錯誤資訊 輸入字串的格式不正確。解決方式 byte b1 convert.tobyte strmd51,16 函式解釋 摘要 將指定基數的數字的 syste...
python中16進製制字串轉換為對應二進位製流
寫 時遇到了乙個問題 獲得乙個16進製表示的字串,它的type是str,我們又不能在它的前面直接加b,如何將其轉換為對應二進位製流呢?後來找到了解決辦法,主要是使用eval函式。s xe5 xa4 xa7 xe4 xb9 x94 或 s r xe5 xa4 xa7 xe4 xb9 x94 print...
16進製制與字串轉換
字串為 string 型別並可寫成兩種形式,即用引號引起來和用 引起來。用引號引起來的字串括在雙引號 內 good morning a string literal 並且可以包含包括換碼序列在內的任何字元 string a u0066 n backslash,letter f,new line 注意...