开发者社区> 问答> 正文

如何使用Java API在HBase中解码表情符号(unicode)?

在我的HBase表中,有一些编码的表情符号,例如\ xF0 \ x9F \ x8C \ x8F和\ xE2 \ x9A \ xBE。我正在尝试使用Bytes.toString()对其进行解码。但是,此方法使用utf-8,它只能解码3个字节的代码,如\ xE2 \ x9A \ xBE,而4个字节的代码,如\ xF0 \ x9F \ x8C \ x8F似乎是一个问号(请参阅下文)。那么,如何解码四个字节的代码以生成表情符号并打印出来呢?有人有主意吗?提前致谢!

展开
收起
游客ufivfoddcd53c 2020-01-04 19:24:32 3247 0
1 条回答
写回答
取消 提交回答
  • 当我读取包含以下字符“”(F09F8C8F或U + 1F30F)的文件,并且该文件具有指示UTF-8编码的BOM时,我可以通过使用将其正确转换为UTF-8

    byte[] encoded = Files.readAllBytes(selectedFile.toPath());
    String fileContents = new String(encoded, StandardCharsets.UTF_8);
    
    

    结果字符串已正确转换并正确显示在我的Java Swing应用程序中。但是,如果我将相同的String打印到控制台,则会得到一个方框的问号而不是符号。因此,字符已正确转换,但只是您的输出弄乱了字符。

    2020-01-04 19:25:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载