我已经进行了大量的谷歌搜索,但是没有找到解决我的问题的方法。我需要在Java中对mailto:链接中的主题和正文进行UTF-8编码。
正文由纯文本组成
是否有任何一种方法可以对以下内容进行编码:
- 整个字符串采用 UTF-8 编码,例如 Ä 编码为%C3%84S
- 空格转换为%20而不是 +
- \r\n 转换为%0D%0A
- / 转换为 %2f
感谢您的帮助!
UTF-8
。+
而不是%20
,这在查询参数中是有效的;你可以特殊处理并将所有前者替换为后者。例如:import java.net.URLEncoder;
import java.util.regex.Pattern;
public class Foobar {
private static Pattern space = Pattern.compile("\\+");
public static void main(String[] args) throws Exception {
String first = URLEncoder.encode("Ä+ \r\n/", "UTF-8");
String second = space.matcher(first).replaceAll("%20");
System.out.println(second);
}
}
%C3%84%2B%20%0D%0A%2F
%20
代替。 - wmorrell