escape+ ANSI转换成Unicode(javascript)

时间:2020-12-11 00:14:46

function gfEscapePlus(strOrg) {
 var moji;
 var strUni = "";

 for(var i=0;i<strOrg.length;i++){
  moji = strOrg.charCodeAt(i);
  if(moji <= 255){
   if(moji <=15){
    strUni = strUni + "%0" + moji.toString(16);
   } else if(moji >= 48 && moji <= 57){
    strUni = strUni + strOrg.charAt(i);
   } else if(moji >= 65 && moji <= 90){
    strUni = strUni + strOrg.charAt(i);
   } else if(moji >= 97 && moji <= 122){
    strUni = strUni + strOrg.charAt(i);
   } else {
    strUni = strUni + "%u00" + moji.toString(16);
   }
  } else if (moji <= 4095){
   strUni = strUni + "%u0" + moji.toString(16);
  } else {
   strUni = strUni + "%u" + moji.toString(16);
  }
 }
 while(strUni != (strUni = strUni.replace("%u00a0","%20")));
 return strUni;
}