>Java >java지도 시간 >Java에서 문자열을 16진수로 변환하는 방법은 무엇입니까?

Java에서 문자열을 16진수로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-24 17:24:29192검색

How to Convert Strings to and from Hexadecimal in Java?

Java에서 문자열을 16진수로 변환

Java에서 문자열을 16진수로 변환하는 것은 String.format을 사용하여 수행할 수 있는 간단한 작업입니다. () 방법. 수행 방법은 다음과 같습니다.

public String toHex(String arg) {
    return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}

이 코드에서 BigInteger(1, arg.getBytes()) 행은 문자열을 임의 정밀도의 음수가 아닌 정수를 나타내는 BigInteger 객체로 변환합니다. . 1 인수는 정수가 리틀 엔디안 바이트 순서로 표시되도록 지정합니다.

그런 다음 String.format(" 0x") 행은 BigInteger 개체의 형식을 16진수 문자열로 지정합니다. 0x 형식 지정자는 문자열이 총 40자 너비까지 0으로 채워져야 함을 지정합니다.

16진수 문자열을 다시 문자열로 변환

16진수 문자열 변환 문자열로 다시 변환하는 것은 위에서 설명한 변환 ​​프로세스와 유사하지만 그 반대입니다. 이를 수행하는 방법은 다음과 같습니다.

public String fromHex(String hex) {
    byte[] bytes = new BigInteger(hex, 16).toByteArray();
    return new String(bytes, /*YOUR_CHARSET?*/);
}

이 코드에서 새로운 BigInteger(hex, 16) 줄은 16진수 문자열을 BigInteger 개체로 변환합니다. 16 인수는 문자열이 16진수 형식으로 표시되도록 지정합니다.

toByteArray() 메서드는 BigInteger 객체를 바이트 배열로 변환합니다.

마지막으로 새 String(bytes) 행은 다음을 변환합니다. 지정된 문자 세트를 사용하여 바이트 배열을 문자열로 변환합니다.

위 내용은 Java에서 문자열을 16진수로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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