十六進制字符數組轉十六進制byte

讀取txt文件中的16進制數組,默認以16進制字符方式讀取,每個字符佔1個字節,默認以ASCii類型讀取出來;16進制byte需要將兩個字符組成1個字節的byte類型;

char * cArray = new char[]{'E' , 'F' , '2' ,'A'};

byte * by16 = new byte[cArray長度 / 2];

for (int i = 0, j=0; i < cArray長度; )
 {
                    //兩個字符組成一個字節
                    byte by1 = (byte)cArray[i];
                    byte by2 = (byte)cArray[i+1];
                    by1 = by1 < 58 ? (by1 - 48) : (by1 - 55); //默認大寫字符,小寫字符需替換58這個數值,下同
                    by2 = by2 < 58 ? (by2 - 48) : (by2 - 55);
                    byte by3 = by1*16 + by2;
                    by16[j++] = by3;
                    i += 2;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章