emoji在解析whatsapp聊天文本文件时被替换为“?”如何将它们解析为正常的utf-8或utf-16编码?

t0ybt7op  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(143)

我正在写一个有趣的java小项目,在那里我想获得whatsapp聊天的统计数据。在本例中,我希望获得最常用的表情符号作为这些统计数据之一。
这些聊天记录如下所示,是一个常规的txt文件:
朋友a:我也要参加聚会了🥳🥳🥳
29-04-2021 18:50-朋友b:我也很沮丧🥳
29-04-2021 18:52-朋友c:我也要参加聚会
29-04-2021 18:52-朋友a:哈哈哈
朋友甲:好的,我会的😂😂
29-04-2021 18:52-朋友丁:我看看会怎么样♡♡♡
朋友:现在我感觉很糟糕😅
我使用这段代码来解析文本文件

try(BufferedReader reader = Files.newBufferedReader(filePath)) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

然而,当我使用这段代码时,所有表情符号都会被一个问号(“?”)或两个问号(“?”)所取代。我以前在python中做过,没有任何问题。
我也曾尝试将打印流的编码设置为utf-8,但没有成功。
使用如下所示的inputstreamreader具有相同的结果。

try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(String.valueOf(filePath)), StandardCharsets.UTF_8))){
            String line;
            while ((line = reader.readLine()) != null){
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

我觉得我错过了一些非常简单的东西,但我无法理解。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题