-
[Java] Mac주소 Hex String 변환java 2022. 10. 28. 09:22
NetworkInterface.getHardwareAddress() -> byte[]배열로 리턴
Mac주소의 한칸은 00~FF까지 0~255에 해당하는 256개의 값으로 byte 타입으로 충당가능하지만 byte 타입은 범위가 -128~127 이므로 범위의 반이 밀릴텐데 String.format() %x 포맷으로 실제 어떻게 되는지 출력해봄
package string; public class MacAddressTest { public static void main(String[] args) { System.out.println("Mac 주소 확인 테스트 -128부터 127까지"); byte testByte = Byte.MIN_VALUE; while (testByte != Byte.MAX_VALUE) { System.out.println("byte: " + testByte + " => mac: " + String.format("%X", testByte)); testByte = (byte) (testByte + 1); } System.out.println(); } }
결과
byte: -128 => mac: 80
byte: -127 => mac: 81
...
byte: -2 => mac: FE
byte: -1 => mac: FF
byte: 0 => mac: 0
byte: 1 => mac: 1
...
byte: 125 => mac: 7D
byte: 126 => mac: 7E
두자리 String을 맞추기 위해
package string; public class MacAddressTest { public static void main(String[] args) { System.out.println("Mac 주소 확인 테스트 -128부터 127까지"); byte testByte = Byte.MIN_VALUE; while (testByte != Byte.MAX_VALUE) { System.out.println("byte: " + testByte + " => mac: " + String.format("%02X", testByte)); //%02X로 testByte = (byte) (testByte + 1); } System.out.println(); } }
'java' 카테고리의 다른 글
[Java] String 문자열 split (0) 2022.11.01 [Java] String.format (0) 2022.09.07 [Java] 익명 클래스 초기화 블록 (0) 2022.08.25 [Java] Comparator,Comparable구현시 주의할 점 (0) 2022.07.13 까먹은 것들 정리 (0) 2021.12.25