Author:赵志乾
Date:2019-07-08
Declaration:All Right Reserved!!!
踩坑:
场景:将代码中写死的文本信息调整到界面可配置。
做法:使用数据库存放要配置的文本内容。将代码中的文本信息复制粘贴到输入文本框,结果存储到数据库中的文本多转义了一次。
// 代码中的配置--内容是一个向右指的手势 ?
String content = "\uD83D\uDC49";
// 将 \uD83D\uDC49 粘贴到界面输入框,得到的结果是"\\uD83D\\uDC49"
// 相比于直接在代码中配置多了一次字符转义
解决方案:
上述问题是因为混淆了显示文本和编码文本的区别。所谓显示文本,其实就是给人看的文本,而编码文本则是给计算机看的文本。代码中文本是编码文本,而界面的输入输出是显示文本,由显示文本到编码文本会自动进行一次转义。故应该在界面输入文本框中直接输入一个向右的手势便可得到正确的结果。