gpt4 book ai didi

java - 我如何用java中的unicode替换字符串中的每个表情符号?

转载 作者:行者123 更新时间:2023-12-04 13:17:04 26 4
gpt4 key购买 nike

我有这样一个字符串:

"\"title\":\"👺TEST title value 😁\",\"text\":\"💖 TEST text value.\"" ...

我想用它们的 unicode 值替换每个表情符号,如下所示:

"\"title\":\"U+1F47ATEST title value U+1F601\",\"text\":\"U+1F496 TEST text value.\"" ...

在网络上搜索了很多之后,我找到了一种使用以下代码将一个符号“翻译”成它们的 unicode 的方法:

String s = "👺";
int emoji = Character.codePointAt(s, 0);
String unumber = "U+" + Integer.toHexString(emoji).toUpperCase();

但是现在我该如何更改我的代码以将所有表情符号都放在一个字符串中?

附言它可以是\Uxxxxx 或 U+xxxxx 格式

最佳答案

试试这个解决方案:

String s = "your string with emoji";

StringBuilder sb = new StringBuilder();

for (int i = 0; i < s.length(); i++) {
if (Character.isSurrogate(s.charAt(i))) {
Integer res = Character.codePointAt(s, i);
i++;
sb.append("U+" + Integer.toHexString(res).toUpperCase());
} else {
sb.append(s.charAt(i));
}
}

//result
System.out.println(sb.toString());

关于java - 我如何用java中的unicode替换字符串中的每个表情符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59376751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com