我有一个带有表情符号的字符串
I love 🍿
我需要用它的 html 实体来逃避爆米花表情符号,所以我得到
I love 🍿
我正在用 Java 编写我的代码,我一直在尝试不同的 StringEscapeUtils 库,但没有让它工作。请帮我弄清楚我可以用什么来逃避爆米花等特殊字符。
以供引用:
Unicode Character Information
Unicode 8.0 (June 2015)
最佳答案
我会使用 CharSequence::codePoints
来获取代码点的 IntStream
并将它们映射到字符串,然后收集它们,连接到单个字符串:
public String escape(final String s) {
return s.codePoints()
.mapToObj(codePoint -> codePoint > 127 ?
"&#x" + Integer.toHexString(codePoint) + ";" :
new String(Character.toChars(codePoint)))
.collect(Collectors.joining());
}
对于指定的输入,这会产生:
I love 🍿
关于java - 将 Unicode 字符 'POPCORN' 转义为 HTML 实体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57532687/