【发布时间】:2015-06-05 10:17:54
【问题描述】:
我只需要将字符串中的一些特殊字符编码为数值。 说,
String name = "test $#";
我只想对上述字符串中的字符 $ 和 # 进行编码。我尝试使用下面的代码,但没有成功。
String encode = URLEncoder.encode(StringEscapeUtils.escapeJava(name), "UTF-8");
编码值会是这样,对于空白,编码值是&#160
【问题讨论】:
-
 是一个不间断的空格。你可以测试:System.out.println("nbsp: " + name.equals("test\u00a0$#")); -
在这种情况下,您的空白是non-breaking space。
-
你为什么使用
StringEscapeUtils.escapeJava? -
@Phylogenesis 如何将这个不间断的空间转换为 ?
-
你实际上想做什么?首先通过 Java 编码器运行它,然后通过 URI 编码器运行它。
标签: java string character-encoding