发布网友 发布时间:2022-04-22 07:43
共5个回答
懂视网 时间:2022-05-14 19:23
本篇文章给大家带来的内容是关于js字符串与unicode码如何相互转换?(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。在我们的开发过程中,有时在对数据进行储存的时候,我们需要将字符串转成unicode。
比如,在jsp开发时,前端使用页面间传值时,将传值参数先存入cookie中,然后在使用的时候,再从ookie中取出。当存入cookie的参数为汉字或别的什么特殊字符时,就会导致服务器崩溃。
崩溃的大致原因:每次客户端与服务器之间的通信都会携带cookie,所以存入cookie的特殊字符就会被携带到服务器中。而在jsp开发的项目中,服务器在遇到cookie中这些特殊字符时,无法正确的解析,导致服务器崩溃。具体导致原因,后端会更加清楚,我也只是了解个大概,有兴趣的可以深入了解。
这时,我们在cookie存入的要是unicode码的话,就不会导致服务器崩溃的问题。当然也有别的处理方法,比如存入storage,让后端帮忙处理等。这里只说转码的解决方法。
方法中大致用到javascript中的两个自带的API。
fromCharCode():fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符。用法string.fromCharCode(unicode,16));
charCodeAt():charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
看,javascript已经帮我们做完了很多事情。这两个API一次只能帮我们处理一个字符啊。还有就是这两个方法处理完和处理后都是 0 - 65535 之间的整数。而我们在使用的时候一般习惯性的在整数码之前加入u,这个要手动的加入和删除。
代码如下:
//将unicode编码转字符串 var Unicode_Str=function(unicode){ var result=[]; var strArr=unicode.split('\u'); for(var i=0,len=strArr.length;i<len;i++){ if(strArr[i]){ result.push(string.fromCharCode(parseInt(strArr[i],16))) } } return result.join(''); } //将字符串转unicode编码 var Str_Unicode=function(str){ var unid='\u'; for(let i=0,len=str.length;i<len;i++){ if(i<len-1){ unid+=str.charCodeAt(i).toString(16)+'\u'; }else if(i===len-1){ unid+=str.charCodeAt(i).toString(16); } } return unid; }
热心网友 时间:2022-05-14 16:31
javascript有一个很有用的函数eval("string")
这个函数可以把字符串转换为对象或者可以执行的语句,例如你的代码可以用
obj2=eval("document.a.c"+i),另外你还可以这样写eval("alert()"),
eval("a+=2"),这样你就可以让用户输入的javascript语句执行
你的docheck()如此改即可:
function docheck(){
obj1=eval("document.a.a"+i)
obj2=eval("document.a.c"+i)
obj1.value=obj2.options[obj2.selectedIndex].value;
}
热心网友 时间:2022-05-14 17:49
你的意思是字符与ascii码相互转换是吧
js 字符ascii码转换函数
字符转ascii码:用charCodeAt();
ascii码砖字符:用fromCharCode();
看一个小例子
<script>
str="A";
code = str.charCodeAt();
str2 = String.fromCharCode(code);
str3 = String.fromCharCode(0x60+26);
document.write(code+'<br />');
document.write(str2+'<br />');
document.write(str3);
</script>
输出:
65
A
z
参考资料:http://xuehu2009.javaeye.com/blog/616861
热心网友 时间:2022-05-14 19:24
alert(String.fromCharCode(65));
热心网友 时间:2022-05-14 21:15