Java に転置する必要がある Perl コードがいくつかあります。このコードでは、Perl のpack
. Javaに同等の機能はありますか? Perl コードは次のようになります。
$somevar = pack "H*", $vartopack;
Perl のpack
/関数は、Java の世界に直接同等のものがないunpack
独自のフォーマット構文(ここでは任意の長さの 16 進文字列を入力として使用するために使用) を持つ非常に用途の広い変換ユーティリティです。H*
ただし、訳すと…
$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);