간략한 코드는 다음과 같습니다
bytetohex
byte[] bytes = new java.math.BigInteger(hexText, 16).toByteArray();
hextobyte
new java.math.BigInteger(hexByte).toString(16);
그런데 이렇게하면 추가시 00이 더해지는 에러가 발생할 수도 있기 때문에
big integer 나오기 전에 하던 방식도 추가해 두겠습니다
bytetohex
final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
public static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for ( int j = 0; j < bytes.length; j++ ) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = hexArray[v >>> 4];
hexChars[j * 2 + 1] = hexArray[v & 0x0F];
}
return new String(hexChars);
}
hextobyte
public static byte[] hexToByte(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i + 1), 16));
}
return data;
}
'개발 > Java' 카테고리의 다른 글
[Java] int 에 숫자 2개 넣어 보내기 (<<, >> 연산) (0) | 2023.04.11 |
---|---|
[Android, Java] Main Thread에서 sub Thread 로 값 넘겨주기 (0) | 2023.04.10 |
[Java] 추상화란 (0) | 2023.03.03 |
[Java] 상속(Inheritance) 이란, super 란 (0) | 2023.03.03 |
[Java] 다형성(polymorphism) 이란 (0) | 2023.03.03 |
간략한 코드는 다음과 같습니다
bytetohex
byte[] bytes = new java.math.BigInteger(hexText, 16).toByteArray();
hextobyte
new java.math.BigInteger(hexByte).toString(16);
그런데 이렇게하면 추가시 00이 더해지는 에러가 발생할 수도 있기 때문에
big integer 나오기 전에 하던 방식도 추가해 두겠습니다
bytetohex
final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
public static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for ( int j = 0; j < bytes.length; j++ ) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = hexArray[v >>> 4];
hexChars[j * 2 + 1] = hexArray[v & 0x0F];
}
return new String(hexChars);
}
hextobyte
public static byte[] hexToByte(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i + 1), 16));
}
return data;
}
'개발 > Java' 카테고리의 다른 글
[Java] int 에 숫자 2개 넣어 보내기 (<<, >> 연산) (0) | 2023.04.11 |
---|---|
[Android, Java] Main Thread에서 sub Thread 로 값 넘겨주기 (0) | 2023.04.10 |
[Java] 추상화란 (0) | 2023.03.03 |
[Java] 상속(Inheritance) 이란, super 란 (0) | 2023.03.03 |
[Java] 다형성(polymorphism) 이란 (0) | 2023.03.03 |