问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js 如何把unicode字符串显示为中文

发布网友 发布时间:2022-04-27 00:13

我来回答

2个回答

懂视网 时间:2022-04-22 18:25

本篇文章给大家带来的内容是关于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-04-22 15:33

写过编码转换与反转换,以下两个函数可以直接套用

function stringtocode(name){//字符转换为编码用“,”隔开每个字符
var result=String();
if(name==''||name==undefined) return name;
for(var i=0;i<name.length;i++){
result+=name.charCodeAt(i)+",";
}
result=result.substring(0,result.length-1);
return result;
}

function codetostring(cod){//编码转换成字符,编码之间用,分开
var result=String(),a=new Array();
a=cod.split(",");
for(var i=0;i<a.length;i++)
result+=String.fromCharCode(parseInt(a[i]));
return result;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机有东西要更新了 在家没有无线 办夜间流量包可以嘛 3G流量可以... 联通3g卡有包3072M,就是3G流量这个套餐吗? ...偷偷改时间补打卡记录,补完把时间调回去了,里面会有时间修改过的记录... ...是以前打的卡就会有变动,打出来的考勤是调整时间以后的吗?_百度知 ... 梦见背喜欢的女孩的预兆 相比互联网超越1号,凡尔赛plus有什么弊端? 相比尊享福重疾险,凡尔赛plus重疾险有啥亮点? 凡尔赛plus有哪些优点? 相比达尔文6号重疾险,凡尔赛plus重疾险能有哪些亮点? 如果是女孩去日本上学,安全吗? 给钱破解JS中的 unicode 编码!!!谢谢! 妈妈去世4年多了,经常在梦中梦见她生病 写了个JS编码和解码Unicode的小程序,解码中文显示乱码! js 怎么验证字符串中含有unicode格式编码 妈妈去世后,经常会梦到她,这该怎么办? 为什么我的大便是黑的而且很粗? 大便由粗变细是什么原因? 为什么大便是又粗又长的?? 怎样才能使大便变粗、变长、变硬? 大便突然变得很粗很长,有要紧吗 大便太粗怎么办? 为什么大便很长很粗 怎样能让大便变粗 每天排便但是大便很粗很粗怎么回事 大便粗怎么办 大便很粗 为什么我的大便很粗!!? 为什么我大便很粗? 吃什么可以使大便变粗 大便又大又粗,怎么回事? 前端通过JS如何能够显示出图标的Unicode编码 js,nodejs如何判断文件是什么编码格式 我每天晚上梦见死去的母亲怎么回事? 关于js编码的问题 总是梦见已故的母亲,为什么? 关于JavaScript通过Unicode编码获取文本框内汉字个数的问题 到底什么是unicode 编码? 妈妈过世多年了我常常梦见,是她过不好吗? js 国际化一些语言包中 汉字代码 的问题 我妈去世一年了我几乎天天都能梦到可是我最近流产了就梦不到了怎么回事? JS弹出框显示乱码怎么解决 北京大学研究生分数线2022 考北大研究生对本科成绩的有要求? 北大研究生录取要看本科级点成绩吗 光伏扶贫模式多,适合农村的有哪几种 北大考研看本科成绩吗 北大法律硕士考研本科成绩不是很好有影响吗?报班选哪个? 北京大学考研分数查询 什么是光伏发电?都可以用在哪些地方? 北京大学考研成绩怎么查询