java - 将 Freebase Unicode 代码点转换为 Java 字符串

标签 java unicode sparql freebase

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

new String(arg_in_byte,"UTF-8") 

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

最佳答案

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

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

关于java - 将 Freebase Unicode 代码点转换为 Java 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18686899/

相关文章:

java - 主类中的变量

java - AlertDialog按钮区域背景颜色Android

Python 强制 dict 条目为 utf-8

sparql - 使用 SPARQL 从 dbpedia 获取参与者列表

sparql - 使用 Pellet 了解 SPARQL 和语义推理之间的区别

Java 找不到我自己的类的符号

java - 无法启动 Tomcat 服务器。使用 Java 1.7 编译。使用 JSF 2.0。给出 UnsupportedClassVersionError : com/sun/faces/config/FacesInitializer

java - 将unicode纯文本转换为普通字符串

c# - Stimulsoft Pdf 报告动态 unicode 字符串

sparql - 如何使用 geonames ID 丰富地点