1

我正在做一些 Freebase 查询。有时查询的结果包含 Unicode 字符。如何将这些字符转换为 Java 字符串?(例如The_Police_$0028band$0029The_Police_(band))。我试过了:

new String(arg_in_byte,"UTF-8") 

但它不起作用。我在另一个问题中看到一种解决方案是方法replaceAll,但我认为还有其他一些更清洁的方法。

4

1 回答 1

2

这些不是 UTF-8 编码的,而是 Unicode 代码点的私有编码。如果您的 Freebase Java 客户端库不包含必要的解码方法,您需要自己编写一个以获取美元符号 ($) 后的四位数字,将它们解释为十六进制整数,然后将其转换为 Java字符(它也在内部使用 Unicode 代码点)。

以下是有关编码的一些文档: http ://wiki.freebase.com/wiki/MQL_key_escaping

于 2013-09-08T21:19:15.567 回答