在Base64中管理新行

时间:2019-02-04 10:24:41

标签: java base64

我正在研究一个Java项目,该项目将XML文件发送到另一个向许多用户发送邮件的应用程序。

在我的XML中,我想在附件中设置内容,所以我使用Base64。

我的问题是我的邮件的内容在多行中,但是我不知道如何使用Base64,以便用户可以用新行获取附件的内容。

用户必须在附件中收到什么:

20181231 IT FR 00188660 00188770
20181231 IT FC 00000914 00000921
20181231 DE FR 00424997 00425093
20181231 DE FC 00000558 00000567

他们得到了什么:

20181231 IT FR 00188660 0018877020181231 IT FC 00000914 0000092120181231 DE FR 00424997 0042509320181231 DE FC 00000558 00000567

所以我的问题是如何在base64的附件中设置新行?

我的JAVA代码:

line = in.readLine();
byte[] bytesEncoded = Base64.encodeBase64(line.substring(22).getBytes());
fstream.write(bytesEncoded);

我从平面文件中读取一行,并在base64中对其进行编码,然后将结果写入XML文件中

1 个答案:

答案 0 :(得分:0)

Base64与其他任何字符一样对换行符进行编码。您可以通过编码简单的两行文本来确认它:

String input = "a\nb";
String encoded = Base64.getEncoder().encodeToString(input.getBytes());
String output = new String(Base64.getDecoder().decode(encoded));
System.out.println(output); 

a\nb编码为YQpi并输出:

a
b