将 NCR(Numeric Character Reference) 字符转换为真实字符的方法
来源:互联网 发布:淘宝月赚3000多很难吗 编辑:程序博客网 时间:2024/06/03 22:39
开发过程中遇到一种奇怪的编码格式:
每日一色|蓝白~
使用decode/unescape/decodeURI解码均无效.研究一番,总结一下.
实际上上面这种奇怪的编码格式并不是编码,而是一种叫做 NCR(Numeric Character Reference) 的标记结构.
Numeric Character Reference
看看维基百科的解释:
A numeric character reference (NCR) is a common markup construct used in SGML and other SGML-related markup languages such as HTML and XML. It consists of a short sequence of characters that, in turn, represent a single character from the Universal Charact
NCR是一种常见的标记结构,用于SGML和其他SGML相似的标记语言,如HTML和XML。它由一个短的字符序列组成,代表一个字符(全球的文字字符)。
NCR编码是由一个与号(&)跟着一个井号(#), 然后跟着这个字符的Unicode编码值, 最后跟着一个分号组成的.
使用java解决,在项目中实践OK。
public static String decode(String str) {
StringBuffer sb = new StringBuffer();
int i1=0;
int i2=0;
while(i2<str.length()) {
i1 = str.indexOf("&#",i2);
if (i1 == -1 ) {
sb.append(str.substring(i2));
break ;
}
sb.append(str.substring(i2, i1));
i2 = str.indexOf(";", i1);
if (i2 == -1 ) {
sb.append(str.substring(i1));
break ;
}
String tok = str.substring(i1+2, i2);
try {
int radix = 10 ;
if (tok.charAt(0) == 'x' || tok.charAt(0) == 'X') {
radix = 16 ;
tok = tok.substring(1);
}
sb.append((char) Integer.parseInt(tok, radix));
} catch (NumberFormatException exp) {
//sb.append(unknownCh);
}
i2++ ;
}
return sb.toString();
}
- 将 NCR(Numeric Character Reference) 字符转换为真实字符的方法
- numeric character reference(NCR) (数字字符引用)
- NCR(Numeric Character Reference)简单介绍
- 汉字转换成NCR编码的字符
- NCR编码转换成字符
- Character 方法字符的操作
- 字符转换为整数的方法
- 字符串转换为HTML字符的方法
- 字符转换为数字的方法
- js将二进制字符转换为十六进制方法
- Numeric Character Reference转NSString
- 不使用业务字典,将单一数据转换为显示字符的方法
- window对象的弹窗方法、将字符转换为数据、判断变量类型
- selenium webdriver获取不到标签文本及将html特殊符号&转换为正常字符的方法
- 将字符转换为键盘码的代码
- 将传入的任意中文字符转换为拼音
- 将16进制的数据转换为字符
- 将整数转换为相应的一个字符数组
- javascript 之数组去重
- gdb attach使用
- Sql Server
- Mysql 备份一张表
- CSDN日报20170309——《程序员,杂草和大树,你选哪个》
- 将 NCR(Numeric Character Reference) 字符转换为真实字符的方法
- mui的索引列表插件-增加热门城市
- ActiveMQ NMS使用过程中的一点经验
- adb getprop
- 【物流系统】——C#中Oracle批量导入(一)
- C# 利用itextsharp对PDF文件加密
- Spring JdbcTemplate No value specified for parameter 6
- weblogic.xml在项目中设置的注意点
- 回归技术之旅