如何在Java中执行以下等效操作

时间:2011-09-14 22:07:12

标签: java perl

我正在将以下Perl脚本转换为Java。请通过Java解释它的作用和最佳方法。

#!/usr/bin/perl -w

use MIME::Base64;
use Convert::BinHex;

print encode_base64(pack "H*", "06d8f33b9c3dd94f8f45a5ef0bd54c63f0cd3113b7b5ebae79807041f7e2f8975352367266a926ea8a2a93ca");

2 个答案:

答案 0 :(得分:6)

即使我不知道Perl,我也会做出明智的猜测,它需要十六进制形式的二进制数据(其中每个字节由[0-9a-f]范围内的两个字符表示)并将其转换为一个base 64字符串。

在Java中,您使用DatatypeConverter::parseHexBinaryDatatypeConverter::printBase64Binary

String hexData = "06d8f33b9c3dd94f8f45a5ef0bd54c63f0cd3113b7b5ebae79807041f7e2f8975352367266a926ea8a2a93ca";
String base64data = DatatypeConverter.printBase64Binary(
        DatatypeConverter.parseHexBinary(hexData));
System.out.println(base64data);

答案 1 :(得分:0)

import org.apache.commons.codec.binary.Base64;

Base64.encodeBase64(string you want to encode.getBytes());