将Freebase Unicode代码点转换为Java String

时间:2013-09-08 18:00:26

标签: java unicode sparql freebase

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

new String(arg_in_byte,"UTF-8") 

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

1 个答案:

答案 0 :(得分:2)

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

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