字串(AABB)轉換16進位數值(0xAA, 0xBB) |
尚未結案
|
tk.yao
一般會員 發表:2 回覆:3 積分:1 註冊:2004-05-08 發送簡訊給我 |
//我想這類問題應該有很多先進問過,但是我一時找不相關的討論,希望前輩們包涵指導 輸入的字串為(00112233445566778899AABBCCDDEEFF)32個字元
想轉換成unsigned char(0x00, 0x11,....0xEE, 0xFF)的陣列
小弟我的做法不知道是否有邏輯錯誤的地方或者有更簡潔的寫法?謝謝。
void StrToUintArray(AnsiString str) { int i; int c[32]; for(i=1;i<=str.Length();i ){ if(str[i]=='A'|| str[i]=='a') c[i]=10; else if(str[i]=='B' || str[i]=='b') c[i]=11; else if(str[i]=='C' || str[i]=='c') c[i]=12; else if(str[i]=='D' || str[i]=='d') c[i]=13; else if(str[i]=='E' || str[i]=='e') c[i]=14; else if(str[i]=='F' || str[i]=='f') c[i]=15; else c[i] = StrToInt(str[i]); } for(i=0;i<16;i ){ w[i]=c[(i 1)*2]^(c[((i 1)*2)-1]<<8); } } |
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: //我想這類問題應該有很多先進問過,但是我一時找不相關的討論,希望前輩們包涵指導 輸入的字串為(00112233445566778899AABBCCDDEEFF)32個字元 想轉換成unsigned char(0x00, 0x11,....0xEE, 0xFF)的陣列 小弟我的做法不知道是否有邏輯錯誤的地方或者有更簡潔的寫法?謝謝。Use HexToBin 學而時習之不亦樂乎!void StrToUintArray(AnsiString str) { int i; int c[32]; for(i=1;i<=str.Length();i ){ if(str[i]=='A'|| str[i]=='a') c[i]=10; else if(str[i]=='B' || str[i]=='b') c[i]=11; else if(str[i]=='C' || str[i]=='c') c[i]=12; else if(str[i]=='D' || str[i]=='d') c[i]=13; else if(str[i]=='E' || str[i]=='e') c[i]=14; else if(str[i]=='F' || str[i]=='f') c[i]=15; else c[i] = StrToInt(str[i]); } for(i=0;i<16;i ){ w[i]=c[(i 1)*2]^(c[((i 1)*2)-1]<<8); } } |
tk.yao
一般會員 發表:2 回覆:3 積分:1 註冊:2004-05-08 發送簡訊給我 |
|
enu
中階會員 發表:36 回覆:93 積分:55 註冊:2003-10-22 發送簡訊給我 |
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: tk.yao您好,您可以參考下列網址看看: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=47131 上次也剛好碰上這樣的問題, 也是看了這個例子解決了。 應該會是您要的吧!HexToBin(字串指標,傳回指標,傳回的buffer size) 舉例 Byte B PChar Str HexToBin(Str,B,1); inc c[32] for(i:=0;i < strlen(str) ;i= 2){ HexToBin(*str[i 1],*c[i],1); } 學而時習之不亦樂乎! 發表人 - jest0024 於 2004/05/08 22:46:22 |
g6101
高階會員 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
tk.yao您好:
請參考以下的程式碼,視需求自行修改.
#include◎天長地久有時盡,追求知識無絕期! |
tk.yao
一般會員 發表:2 回覆:3 積分:1 註冊:2004-05-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |