例如,如果我收到以下ASCII值:123456如何將ASCII轉換爲字節?
如何將兩個數字組合成一個字節?所以我的字節變成這樣...
byte1 = 0x12;
byte2 = 0x34;
byte3 = 0x56;
謝謝!
例如,如果我收到以下ASCII值:123456如何將ASCII轉換爲字節?
如何將兩個數字組合成一個字節?所以我的字節變成這樣...
byte1 = 0x12;
byte2 = 0x34;
byte3 = 0x56;
謝謝!
以及這裏有一個辦法做到這一點:
char string[] = "123456";
int byte1 = (string[0]-'0')*0x10 + (string[1]-'0');
int byte2 = (string[2]-'0')*0x10 + (string[3]-'0');
int byte3 = (string[4]-'0')*0x10 + (string[5]-'0');
HTH
這就是我一直在尋找的,謝謝! – Ammar
這被稱爲BCD(二進制編碼的十進制)。
char s[] = "123456";
byte1 = (s[0] - '0') * 0x10 + (s[1] - '0');
大家好,謝謝! – Ammar
我想我會在我的評論闡述。我只是有點兒樂趣。
char string[] = "123456"
byte1 = ((unsigned char)string[0] << 4) | (unsigned char)string[1];
byte2 = ((unsigned char)string[2] << 4) | (unsigned char)string[3];
byte3 = ((unsigned char)string[4] << 4) | (unsigned char)string[5];
它們是(123456)字符還是已經是整數值了? – TerraOrbis
他們仍然是字符 – Ammar
那怎麼樣:byte1 =((unsigned char)1 << 4)| (無符號字符)2; – TerraOrbis