2012-04-11 3 views
2

입니다. Java에서 변환해야하는 Perl 코드가 있습니다. 이 코드에서는 Perl의 pack을 처리해야합니다. Java에 상응하는 함수가 있습니까?Java에서 Perl의 팩 기능은

$somevar = pack "H*", $vartopack; 
+1

이 질문에 대한 답변을보십시오. http://stackoverflow.com/questions/923863/converting-a-string-to-hexadecimal-in-java –

답변

2

펄의 pack/unpack 기능 자체 format syntax (여기 H*에 사용하게하는이 입력으로 임의의 긴 16 진수 문자열을)있는의와 매우 다양한 변환 유틸리티입니다 펄 코드는 다음과 같이 보입니다 Java 세계에는 직접적인 동일한 기능이 없습니다. 그러나, 자바 ...

$somevar = pack "H*", $vartoconvert; 

을 번역, 당신은 예를 들어, 사용 할 수 있습니다

byte[] somevar = javax.xml.bind.DatatypeConverter.parseHexBinary(vartoconvert); 

은 자세한 내용은 Javadoc과의 DatatypeConverter class reference를 참조하십시오.

1
String hex = "4a616d6573"; 
StringBuilder output = new StringBuilder(); 
for (int i = 0; i < hex.length(); i+=2) { 
    String str = hex.substring(i, i+2); 
    output.append((char)Integer.parseInt(str, 16)); 
} 
System.out.println(output);