我正在寻找一种quoted- printable在Java中编码字符串的方法,就像php的本机quoted_printable_encode()函数一样。
quoted- printable
quoted_printable_encode()
我试图使用JavaMails的MimeUtility库。但是我无法使该encode(java.io.OutputStream os, java.lang.String encoding)方法起作用,因为它采用OutputStream作为输入而不是字符串(我使用该函数getBytes()转换了字符串)并输出了无法返回字符串的内容(我是Java noob :)
encode(java.io.OutputStream os, java.lang.String encoding)
getBytes()
谁能给我提示如何编写将字符串转换为OutputStream并在编码后将结果输出为String的包装器?
要使用此MimeUtility方法,您必须创建一个ByteArrayOutputStream,它将累积写入其中的字节,然后可以将其恢复。例如,对字符串进行编码original:
MimeUtility
ByteArrayOutputStream
original
ByteArrayOutputStream baos = new ByteArrayOutputStream(); OutputStream encodedOut = MimeUtility.encode(baos, "quoted-printable"); encodedOut.write(original.getBytes()); String encoded = baos.toString();
encodeText来自同一个类的函数可以在字符串上运行,但是会产生Q编码,这与quoted- printable相似,但并不完全相同:
encodeText
String encoded = MimeUtility.encodeText(original, null, "Q");