今天产品中出现了莫名奇妙的问题,好好的中文任务名,全部变成了这样的编码:
"测试多提交按钮"
google了很多资料,还是没有找到解决方案,大家的方法大多都是修改提供这个字符串的地方的编码问题,但是我们的产品是别人的,我们不能得到他服务端的代码,更不想去反编译他们的代码,所以就试图希望能够在js那里直接对这个字符串进行解码。
首先,我们得知道这个编码是什么,查了一些资料后,发现这个编码是ASCII码(嗨,见笑了,这个码我都不知道是ASCII),在js中,使用
String.charCodeAt(i)
就能得到这个码。所以我们就想怎么样解码就行了,幸好,同样有一个方法:
String.fromCharCode("ascii码")
所以,我上面的字符串就这么替换:
var title = "测试多提交按钮";
var titleStr = title.replace(new RegExp("&#","gm"),"");
var titleArr = titleStr.split(";");
var newTitle = "";
for(var i=0;i<titleArr.length-1;i++){
newTitle+=String.fromCharCode(titleArr[i]);
}
那个正则表达式,是为了得到replaceAll效果的,因为js没有replaceAll函数,他只能替换第一个匹配的。
分享到:
相关推荐
可以轻松转换进制。 支持多种进制转换 字符转16进制、16进制转字符等多种格式
ascii码转换器.ascii码查看工具.ascii码查看器.ascii码转换工具.能够查看ASCII码,方便工作.
ASCII码转换小程序
将文本内容转换为ASCII码,支持二进制及十进制
vb6.0 做上位机,16进制与ASCII码转换,ascii码与十六进制转换
VB 字符和ASCII码间的相互转换 VB 字符和ASCII码间的相互转换
很好用的ASCII码转换工具,用了就知道了
易语言汉字和ASCII码之间的转换源码,汉字和ASCII码之间的转换,子程序1
VB关于ASCII码转换成16进制的问题.pdfVB关于ASCII码转换成16进制的问题.pdf
十六进制转十进制ASCII码转换工具,自己开发的自认为比较实用,带源代码。
将6bit二进制转换为ASCII码,将ASCII码转换为6bit二进制
十六进制ASCII码 相互转换工具,亲测好用, 方便实用;十六进制ASCII码可以相互转换,奉献给大家!
ASCII码转换表,从而方便用户!
键盘Ascii码转换器Keyboard ASCII converter
ASCII码进制转换器可以将字符和ASCII码相互转换,用户也可以把一句话进行多次转换,可以转换为十六进制,十进制,字符,或者控制码。
ASCII转换,可以转换ASCII码 ASCII转换,可以转换ASCII码
功能介绍: 该工具可以进行ASCII码转换、大小写转换、进制转换。除此之外,还可以导入文本文件进行转换。
用于BCD码,ASCII码转换的小工具。
ASCII码与字符的相互转换程序,有源代码。