java—在base64中管理新行

qpgpyjmq  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(396)

我正在从事一个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文件

frebpwbc

frebpwbc1#

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

相关问题