我在 Unicode 中的数据库中存储了以下字符串格式。
كنت قد دخلت بالفعل في مكان آخر من
现在,我想将该字符串转换为可读格式。在 Java 中,我该怎么做?
最佳答案
由于这些是 HTML 实体,您需要某种库方法来将它们解析为它们所代表的字符。
例如,Apache Commons 有 StringEscapeUtils.unescapeHtml
,我相信还有很多其他的。
如果您真的想自己滚动一些东西,对于这种特殊情况,您可以标记化 和
;
之间的数字,将它们解析为十六进制 int,然后调用Character.toChars
将它们转换为 Java 字符。不过,与使用库相比,它需要更多的工作并包含更多的错误,而且我确信我正在掩盖规范中的一些边缘情况。
要么给出结果
ᘃᘆᕸ ᘂᖃ ᖃᖂᘄᕸ ᕶᕵᘄᘁᖓᘄ ᘁᘐ ᘅᘃᕵᘆ ᕰᖂᖅ ᘅᘆ
(顺便说一下,我认为您应该更具体地说明“可读格式”的含义。我现在可以阅读那个字符串 - 它是一个实体引用序列。您是开发人员,准确地说!)
关于java - 将数字实体转换为可读格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9428883/