Notice
Recent Posts
Recent Comments
Link
투케이2K
221. (AndroidStudio/android/java) hex string to byte array convert - 헥사 및 바이트 변환 본문
Android
221. (AndroidStudio/android/java) hex string to byte array convert - 헥사 및 바이트 변환
투케이2K 2021. 11. 23. 14:22[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : java
[소스 코드]
// TODO [Hex String convert byte array : 사용 방법 : hexStringToByteArray("0123abcd")]
public static byte[] hexStringToByteArray(String data) {
byte[] temp = new byte[data.length() / 2];
for(int i = 0; i < data.length() / 2; ++i) {
temp[i] = toByte(data.substring(i * 2, i * 2 + 2));
}
return temp;
}
public static byte toByte(String hexStr) {
byte result = 0;
String hex = hexStr.toUpperCase();
for(int i = 0; i < hex.length(); ++i) {
char c = hex.charAt(hex.length() - i - 1);
byte b = toByte(c);
result = (byte)(result | (b & 15) << i * 4);
}
return result;
}
private static byte toByte(char c) {
switch(c) {
case '0':
return 0;
case '1':
return 1;
case '2':
return 2;
case '3':
return 3;
case '4':
return 4;
case '5':
return 5;
case '6':
return 6;
case '7':
return 7;
case '8':
return 8;
case '9':
return 9;
case ':':
case ';':
case '<':
case '=':
case '>':
case '?':
case '@':
default:
return 0;
case 'A':
return 10;
case 'B':
return 11;
case 'C':
return 12;
case 'D':
return 13;
case 'E':
return 14;
case 'F':
return 15;
}
}
// TODO [byte array convert Hex String : 사용 방법 : byteArrayToHexString(바이트 배열)]
public static String byteArrayToHexString(byte buf[]) {
String Hex_Value = "";
for(int i=0; i<buf.length; i++) {
//Hex_Value += String.format("0x%02x ", buf[i]); // [0xfg]
//Hex_Value += String.format("%02x ", buf[i]); // [fg]
//Hex_Value += String.format("0X%02X ", buf[i]); // [0XFG]
Hex_Value += String.format("%02X ", buf[i]); // [FG]
}
return Hex_Value;
}
반응형
'Android' 카테고리의 다른 글
Comments