English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java에서 십육진수 문자열을 바이트 배열로 변환

16진수 문자열을 바이트 배열로 변환하려면, 먼저 주어진 문자열의 길이를 가져오고 새로운 바이트 배열을 생성할 때 포함해야 합니다.

byte[] val = new byte[str.length() / 2];

현재, 바이트 배열의 길이까지 for 루프를 수행합니다.

for (int i = 0; i < val.length;++) {
   int index = i * 2;
   int j = Integer.parseInt(str.substring(index, index + 2), 16);
   val[i] = (byte) j;
}

지금, 전체 예제를 보여드리겠습니다.

예제

public class Demo {
   public static void main(String args[]) {
      String str = "p";
      byte[] val = new byte[str.length() / 2];
      for (int i = 0; i < val.length;++) {
         int index = i * 2;
         int j = Integer.parseInt(str.substring(index, index + 2), 16);
         val[i] = (byte) j;
      }
      System.out.println(val);
   }
}

출력 결과

[B@2a139a55