我正在将以下Perl脚本转换为Java。请通过Java解释它的作用和最佳方法。
#!/usr/bin/perl -w
use MIME::Base64;
use Convert::BinHex;
print encode_base64(pack "H*", "06d8f33b9c3dd94f8f45a5ef0bd54c63f0cd3113b7b5ebae79807041f7e2f8975352367266a926ea8a2a93ca");
答案 0 :(得分:6)
即使我不知道Perl,我也会做出明智的猜测,它需要十六进制形式的二进制数据(其中每个字节由[0-9a-f]范围内的两个字符表示)并将其转换为一个base 64字符串。
在Java中,您使用DatatypeConverter::parseHexBinary
和DatatypeConverter::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());