js-中文编码转utf8

 utf8(str){//中文编码转为utf8
         var UTFTranslate = {
         Change:function(pValue){
         return pValue.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"&#x$2;")});
         },
         ReChange:function(pValue){
         return unescape(pValue.replace(/&#x/g,'%u').replace(/\\u/g,'%u').replace(/;/g,''));
         }
         };
         return UTFTranslate.Change(str); // "中文sdfsf"
      },

使用时直接调用传入要转为utf编码的字符串

let str = 'http://test/中文下载路径需要转为utf8的文件名'

let url = this.utf8(str)

 

扩展:

//UTF字符转换
var UTFTranslate = {
Change:function(pValue){
return pValue.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"&#x$2;")});
},
ReChange:function(pValue){
return unescape(pValue.replace(/&#x/g,'%u').replace(/\\u/g,'%u').replace(/;/g,''));
}
};
例如:
UTFTranslate.ReChange('中文sdfdf'); //"中文sdfdf"
UTFTranslate.Change('中文sdfsf'); // "中文sdfsf"
//Asc转换
var AscTranslate = {
Change: function(pAscString, pBoxId){
/* 转ASCII */
box = document.getElementById(pBoxId);
box.innerHTML = '';
for(i = 0; i < pAscString.length; i++)
{
var asc = pAscString.charCodeAt(i);
var str = String.fromCharCode(asc);
box.innerHTML += str + ':' + asc + '<br/>';
}

 

posted @ 2020-07-29 15:05  少哨兵  阅读(3196)  评论(0编辑  收藏  举报