Perl的包函数与Java相当

我有一些Perl代码,我需要在Java中进行转置。 在这段代码中,我必须处理Perl的pack 。 Java中是否存在等效函数? Perl代码看起来像这样:

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

Perl的pack / unpackfunction是一种高度通用的转换实用程序,具有自己的格式语法 (在H*使用,这使得它需要任意长的hex字符串作为输入),在Java世界中没有直接的等价物。 但是,要翻译……

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

…到Java,你可以使用:

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

有关更多信息,请阅读Javadocs的DatatypeConverter类引用 。

 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);