Java:在引用打印中编码字符串

标签 java jakarta-mail mime quoted-printable

我正在寻找一种在 Java 中quoted-printable 编码字符串的方法,就像 php 的原生 quoted_printable_encode()功能。

我曾尝试使用 JavaMails 的 MimeUtility 库。但我无法获得 encode(java.io.OutputStream os, java.lang.String encoding)方法工作,因为它采用 OutputStream 而不是 String 作为输入(我使用函数 getBytes() 来转换 String)并输出一些我无法返回到 String 的东西(我是一个 Java 新手 :)

谁能告诉我如何编写一个将字符串转换为 OutputStream 并在编码后将结果作为字符串输出的包装器?

最佳答案

要使用此 MimeUtility 方法,您必须创建一个 ByteArrayOutputStream,它将累积写入其中的字节,然后您可以恢复这些字节。例如,要对字符串 original 进行编码:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream encodedOut = MimeUtility.encode(baos, "quoted-printable");
encodedOut.write(original.getBytes());
String encoded = baos.toString();

encodeText来自同一类的函数将对字符串起作用,但它会产生 Q 编码,即 similar to quoted-printable but not quite the same :

String encoded = MimeUtility.encodeText(original, null, "Q");

关于Java:在引用打印中编码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21574745/

相关文章:

java - 在 javac 中强制执行包声明检查

Java Socket 阻止面板?

java - 使用 JavaMail MessageIDTerm 获取消息的所有标签名称

excel - Excel 创建的以分号作为分隔符的 CSV 文件的正确 MIME 类型是什么

.net - 将 MIME 树转换为 MailMessage

java - 如何从sql server中检索图像

java - 如何正确处理来自 close() 的 IOException

java - 网络服务 :Understanding the task assigned

java - 读取电子邮件的文本文件转换为 Javamail MimeMessage

java - 如何在 java mail api 中将字符串转换为消息?