在 Mac 中解码使用 base64 编码的文件
Decode a file encoded using base64 in Mac
我在 mac 一本书中有一个 base 64 编码的文件 -
base64 cwallet.sso > cwallet.base64.sso
如何使用 Java 解码此文件?
我尝试使用下面的代码,但是生成的文件几乎是原始 "cwallet.sso" 文件大小的两倍。当我使用 base64 -D cwallet.base64.sso > cwallet.original.sso
编码时,我得到的文件大小与 cwallet.sso.
Java代码
File file = new File("<path>/cwallet_newfile.sso");
String contents = FileUtils.readFileToString(new File("<path>/cwallet_base64.sso"), "UTF-8");
byte[] decodedBytes = Base64.getDecoder().decode(contents.trim());
String decodedString = new String(decodedBytes);
FileUtils.write(file,decodedString,"UTF-8");
不要将(可能)二进制文件转换为 UTF-8 String
;而是用 FileUtils.writeByteArrayToFile(File, byte[])
写 byte[]
就像
byte[] decodedBytes = Base64.getDecoder().decode(contents.trim());
// String decodedString = new String(decodedBytes);
// FileUtils.write(file,decodedString,"UTF-8");
FileUtils.writeByteArrayToFile(file, decodedBytes);
我在 mac 一本书中有一个 base 64 编码的文件 -
base64 cwallet.sso > cwallet.base64.sso
如何使用 Java 解码此文件?
我尝试使用下面的代码,但是生成的文件几乎是原始 "cwallet.sso" 文件大小的两倍。当我使用 base64 -D cwallet.base64.sso > cwallet.original.sso
编码时,我得到的文件大小与 cwallet.sso.
Java代码
File file = new File("<path>/cwallet_newfile.sso");
String contents = FileUtils.readFileToString(new File("<path>/cwallet_base64.sso"), "UTF-8");
byte[] decodedBytes = Base64.getDecoder().decode(contents.trim());
String decodedString = new String(decodedBytes);
FileUtils.write(file,decodedString,"UTF-8");
不要将(可能)二进制文件转换为 UTF-8 String
;而是用 FileUtils.writeByteArrayToFile(File, byte[])
写 byte[]
就像
byte[] decodedBytes = Base64.getDecoder().decode(contents.trim());
// String decodedString = new String(decodedBytes);
// FileUtils.write(file,decodedString,"UTF-8");
FileUtils.writeByteArrayToFile(file, decodedBytes);