unicode Java表情符号到xml的转换:存在哪些库?
我正在将MIME消息转换为XML,以便可以将它们作为SOAP请求提交到邮件合并服务,但Emoji给我带来了问题(the smiley 😃,例如,我希望将其转换为😃
)
我使用XStream来处理转换,但它没有正确地编码表情符号和其他高/低代理项对(请参见下面的示例测试用例)。我可能缺少一些关键的xstream配置组件
我发现this project是基于this project的,它通过硬编码映射为特定的日本手机提供商进行转换,但我觉得这个问题可能在现有的Oracle或第三方(Apache等)库中得到了更优雅的解决
从我读到的和听到的来看NuSOAP为PHP解决了这个问题,但我想留在Java/Groovy世界中进行表情转换,这样我就可以使用兼容的库
您使用什么工具/方法在JVM上处理表情符号到XML的转换
import junit.framework.TestCase;
import com.thoughtworks.xstream.XStream;
public class XStreamTest extends TestCase {
public void testXStreamEmojiEncoding() {
final String expected = "Open mouth smiley 😃 and two chicken heads followed by a period 🐔🐔.";
final String original = "Open mouth smiley 😃 and two chicken heads followed by a period 🐔🐔.";
final XStream xStream = new XStream();
final String returned = xStream.toXML(original);
assertEquals("<string>" + expected + "</string>", returned);
}
}
上面的测试寻找表情符号的HTML十进制表示形式,但我会接受适用于MIME的其他格式
# 1 楼答案
我最近为此写了一个库:emoji-java
以下是您将获得的输出类型:
您可以将jar添加到项目中,也可以使用maven依赖项: