java - 将数字实体转换为可读格式

标签 java database string unicode utf

我在 Unicode 中的数据库中存储了以下字符串格式。

كنت قد دخلت بالفعل في مكان آخر من

现在,我想将该字符串转换为可读格式。在 Java 中,我该怎么做?

最佳答案

由于这些是 HTML 实体,您需要某种库方法来将它们解析为它们所代表的字符。

例如,Apache Commons 有 StringEscapeUtils.unescapeHtml,我相信还有很多其他的。

如果您真的想自己滚动一些东西,对于这种特殊情况,您可以标记化 &#; 之间的数字,将它们解析为十六进制 int,然后调用Character.toChars 将它们转换为 Java 字符。不过,与使用库相比,它需要更多的工作并包含更多的错误,而且我确信我正在掩盖规范中的一些边缘情况。

要么给出结果

ᘃᘆᕸ ᘂᖃ ᖃᖂᘄᕸ ᕶᕵᘄᘁᖓᘄ ᘁᘐ ᘅᘃᕵᘆ ᕰᖂᖅ ᘅᘆ

(顺便说一下,我认为您应该更具体地说明“可读格式”的含义。我现在可以阅读那个字符串 - 它是一个实体引用序列。您是开发人员,准确地说!)

关于java - 将数字实体转换为可读格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9428883/

相关文章:

java - android 上 java 的类维度

java - 我怎么知道线程作业已经完成?

java - Scala 导入 java 包追加 com

mysql - 优化的数据类型+简单的数据库设计

r - 如何构建一个循环来导入多个数据帧并以相同的方式修改它们?

python - 测试一个字符串的子字符串

Java 打印字符串 C++ 等价物

database - drupal node_revision 中的 vid 是什么

javascript - 如何在属性中显示带撇号的 Angularjs 变量?

c# - 如何获取字符串中尖括号内的子字符串