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 중국어 웹사이트의 기타 관련 기사를 참조하세요!