2

Java に転置する必要がある Perl コードがいくつかあります。このコードでは、Perl のpack. Javaに同等の機能はありますか? Perl コードは次のようになります。

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

2 に答える 2

2

Perl のpack/関数は、Java の世界に直接同等のものがないunpack独自のフォーマット構文(ここでは任意の長さの 16 進文字列を入力として使用するために使用) を持つ非常に用途の広い変換ユーティリティです。H*ただし、訳すと…

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

...Java に対しては、たとえば次のように使用できます。

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

詳細については、JavadocsのDatatypeConverterクラス リファレンスを参照してください。

于 2012-04-18T06:46:04.773 に答える
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);
于 2013-02-01T04:16:49.847 に答える