我正在使用NxParser库阅读文本文件(RDF)。
我收到很多'百分比编码'字符。我的问题有两个:
我应该用编码保存单词并在我想要显示它们时“解码”它们,或者我应该解码它们然后存储它们(我使用MySQL存储数据(如果这有任何区别) )
如何解码保留字符,我一直在尝试找到一个可以接受输入的库,然后打印出相同单词的“漂亮”版本
我尝试将其中一些字符替换为“正常”等效字符,如someString.replaceAll("%28","(").replaceAll("%29",")
。这样可以正常工作,但当然编写时间很长,也许运行速度慢(如果调用了大量的replaceAll())。
答案 0 :(得分:3)
我认为您想使用java.net.URLDecoder来解码%编码的元素。对此的补充当然是java.net.URLEncoder,它将特殊字符编码为%elements。
答案 1 :(得分:1)
我应该使用编码保存单词并在我想要显示它们时“解码”它们吗?
我会将它们保存为“未编码”并在您想要显示它们时进行编码。 (不同(未来?)显示机制可能需要不同的编码!)
如何解码保留字符,我一直在尝试找到一个可以输入一些内容的库,然后打印出同一个字的“漂亮”版本
您应该使用URLDecoder
来实现此目的。
示例:强>
System.out.println(URLDecoder.decode("Hello %28 world", "UTF-8"));
<强>输出:强>
Hello ( world
答案 2 :(得分:1)
答案 3 :(得分:1)
您有一个“URL编码”字符串。试试这个:
import java.net.URLDecoder;
String someString = "%28test%29";
String decoded = URLDecoder.decode(url, "UTF-8");
System.out.println(decoded); // "(test,"