>Java >java지도 시간 >Java 바이트 배열을 16진수 문자열로 변환할 때 선행 0을 유지하려면 어떻게 해야 합니까?

Java 바이트 배열을 16진수 문자열로 변환할 때 선행 0을 유지하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-27 19:31:14464검색

How Can I Maintain Leading Zeros When Converting a Java Byte Array to a Hex String?

Java에서 바이트 배열의 16진수 변환 시 선행 0 유지

Java에서는 바이트 배열을 16진수 문자열로 변환할 때, 정확성을 위해 앞에 오는 0을 유지하는 것이 중요합니다. 변환에 일반적으로 사용되는 Integer.toHexString() 메서드는 앞에 오는 0을 생략하는 경향이 있습니다. 이로 인해 데이터 표현이 모호해질 수 있습니다.

Apache Commons 코덱을 사용한 솔루션

한 가지 솔루션은 Apache Commons Codec 라이브러리를 사용하는 것입니다. Hex 클래스는 선행 0을 유지하면서 바이트 배열을 16진수 문자열로 효과적으로 변환하는 간단한 메소드인 encodeHexString을 제공합니다.

import org.apache.commons.codec.binary.Hex;

byte[] bytes = ...;
String hexString = Hex.encodeHexString(bytes);

이 접근 방식에서는 바이트 배열 'bytes'가 encodeHexString에 전달됩니다. 결과 hexString에는 각 바이트의 16진수 표현이 포함되어 있으며 각 숫자 쌍에 대해 앞에 0이 유지되어 정확성과 명확성이 보장됩니다.

위 내용은 Java 바이트 배열을 16진수 문자열로 변환할 때 선행 0을 유지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.