Java
[Java] Hex 인코딩 디코딩 방법 (16진수)
펭귄코기
2023. 6. 14. 13:30
1. 자바 6이상 기본 라이브러리
11버전 부터 분리되어 외부 라이브러리로 주입받아 사용해야함
import java.io.UnsupportedEncodingException;
import javax.xml.bind.DatatypeConverter;
public class HexClassImportConverter {
public static void main(String[] args) throws UnsupportedEncodingException {
String testText = "hex Test Text";
byte[] testToBytes = testText.getBytes("UTF-8");
//Hex 인코딩(Byte To String)
String encodeHexString = DatatypeConverter.printHexBinary(testToBytes);
//Hex 디코딩(String to Byte)
byte[] decodeHexByte = DatatypeConverter.parseHexBinary(encodeHexString);
System.out.println("인코딩 전: " + testText);
System.out.println("인코딩: " + encodeHexString);
System.out.println("디코딩: " + new String(decodeHexByte));
}
}
2. Apache Commons 라이브러리
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
public class HexClassImportApache {
public static void main(String[] args) throws UnsupportedEncodingException, DecoderException {
String testText = "hex Test Text";
byte[] testToBytes = testText.getBytes("UTF-8");
//Hex 인코딩(Byte To String)
String encodeHexString = Hex.encodeHexString(testToBytes);
//Hex 인코딩(Byte To Char)
char[] encodeHexChar = Hex.encodeHex(testToBytes);
//Hex 디코딩
byte[] decodeHexByte = Hex.decodeHex(encodeHexString.toCharArray());
System.out.println("인코딩 전: " + testText);
System.out.println("인코딩(String): " + encodeHexString);
System.out.println("인코딩(Char): " + new String(encodeHexChar));
System.out.println("디코딩: " + new String(decodeHexByte));
}
}