使用java将带有表情符号的文本从电报机器人发送到群组

问题描述 投票:0回答:1

我使用java库

<dependency>
    <groupId>org.telegram</groupId>
    <artifactId>telegrambots</artifactId>
    <version>6.8.0</version>
</dependency>

我使用这个java代码向电报组发送消息

class MyBot extends TelegramLongPollingBot { ... }
...

MyBot bot = new MyBot...;
        bot.execute(new SendMessage(
                groupId,
                null,

                        "text with emoji \u1F601",
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                null
        ));

但是群里的消息没有表情符号。我尝试使用像这样的字节表示法字符串

\xF0\x9F\x93\xA7
但只是我在组中收到的 - 该字符序列不是表情符号。

如何发送表情符号?

telegram-bot
1个回答
0
投票

我已经开始使用这个,我刚刚看到它,抱歉迟到了,但对我来说使用这个符号:

“短信\uD83D\uDE01”`

问题似乎是java使用它自己的unicode编码,所以你需要使emoji unicode适应它。这样做的方法,对我来说,它会进入这个网站https://apps.timwhitlock.info/emoji/tables/unicode,进入表情符号,寻找UTF-16 LE,你所需要的就是转对。在这种情况下:

UTF-16 LE:3D D8 01 DE

你拿起前两对并把它们一对一对地倒放:\ud83d
对下一个 \ude01 执行同样的操作。

将它们放在一起,你就拥有了它。

希望这对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.