//把十六进制的编码转为原码
function asciiHex2native(strAscii) {
var output = "";
var posFrom = 0;
var posTo = strAscii.indexOf("\\x", posFrom);
while (posTo >= 0) {
output += strAscii.substring(posFrom, posTo);
var s="";
s=strAscii.substr(posTo, 4).replace("\\x","")
var arr=s.split(""), n=arr.length,k=0, s=0
for(var i=0;i<n;i++){
k=n-i-1;
var a=arr[i].toLocaleLowerCase();
if(a=="a"){a=10;}
else if(a=="b"){a=11;}
else if(a=="c"){a=12;}
else if(a=="d"){a=13;}
else if(a=="e"){a=14;}
else if(a=="f"){a=15;}
s+=(a)*Math.pow(16,k);
}
output += String.fromCharCode(s);
posFrom = posTo + 4;
posTo = strAscii.indexOf("\\x", posFrom);
}
output+=strAscii.substring(posFrom);
return ascii2native(output);
} //把正常的ascii编码转为原码
function ascii2native(strAscii) {
var output = "";
var posFrom = 0;
var posTo = strAscii.indexOf("\\u", posFrom);
while (posTo >= 0) {
output += strAscii.substring(posFrom, posTo);
output += toChar(strAscii.substr(posTo, 6));
posFrom = posTo + 6;
posTo = strAscii.indexOf("\\u", posFrom);
}
output += strAscii.substr(posFrom);
return output;
}
function toChar(str) {
if (str.substr(0, 2) != "\\u") return str;
var code = 0;
for (var i=2; i<str.length; i++) {
var cc = str.charCodeAt(i);
if (cc >= 0x30 && cc <= 0x39)
cc = cc - 0x30;
else if (cc >= 0x41 && cc <= 0x5A)
cc = cc - 0x41 + 10;
else if (cc >= 0x61 && cc <= 0x7A)
cc = cc - 0x61 + 10;
code <<= 4;
code += cc;
} if (code < 0xff) return str;
return String.fromCharCode(code);
}

如下一段加密的代码:

var FF={"\x48\x6F\x6D\x65":{"\x55\x72\x6C":document["\x55\x52\x4C"],"\x54\x70\x6C":"\x64\x65\x66\x61\x6C\x75\x74","\x43\x68\x61\x6E\x6E\x65\x6C":"","\x47\x65\x74\x43\x68\x61\x6E\x6E\x65\x6C":function (_0xa267x1){if(_0xa267x1=="\x31"){return "\x76\x6F\x64";} ;if(_0xa267x1=="\x32"){return "\x6E\x65\x77\x73";} ;if(_0xa267x1=="\x33"){return "\x73\x70\x65\x63\x69\x61\x6C";} ;} ,"\x4A\x73":function (){this["\x43\x68\x61\x6E\x6E\x65\x6C"]=this.GetChannel(Sid);if($("\x23\x77\x64")["\x6C\x65\x6E\x67\x74\x68"]>0){$key="\u8F93\u5165\u5F71\u7247\u540D\u79F0\u6216\u4E3B\u6F14\u540D\u79F0";if($("\x23\x77\x64")["\x76\x61\x6C"]()==""){$("\x23\x77\x64")["\x76\x61\x6C"]($key);} ;$("\x23\x77\x64")["\x66\x6F\x63\x75\x73"](function (){if($("\x23\x77\x64")["\x76\x61\x6C"]()==$key){$("\x23\x77\x64")["\x76\x61\x6C"]("");} ;} );$("\x23\x77\x64")["\x62\x6C\x75\x72"](function (){if($("\x23\x77\x64")["\x76\x61\x6C"]()==""){$("\x23\x77\x64")["\x76\x61\x6C"]($key);} ;} );} ;$("\x23\x66\x61\x76")["\x63\x6C\x69\x63\x6B"](function (){var _0xa267x2=window["\x6C\x6F\x63\x61\x74\x69\x6F\x6E"]["\x68\x72\x65\x66"];try{window["\x65\x78\x74\x65\x72\x6E\x61\x6C"]["\x61\x64\x64\x46\x61\x76\x6F\x72\x69\x74\x65"](_0xa267x2,document["\x74\x69\x74\x6C\x65"]);} catch(err){try{window["\x73\x69\x64\x65\x62\x61\x72"]["\x61\x64\x64\x50\x61\x6E\x65\x6C"](document["\x74\x69\x74\x6C\x65"],_0xa267x2,"");}

转码后的结果为

var FF={"Home":{"Url":document["URL"],"Tpl":"defalut","Channel":"","GetChannel":function (_0xa267x1){if(_0xa267x1=="1"){return "vod";} ;if(_0xa267x1=="2"){return "news";} ;if(_0xa267x1=="3"){return "special";} ;} ,"Js":function (){this["Channel"]=this.GetChannel(Sid);if($("#wd")["length"]>0){$key="输入影片名称或主演名称";if($("#wd")["val"]()==""){$("#wd")["val"]($key);} ;$("#wd")["focus"](function (){if($("#wd")["val"]()==$key){$("#wd")["val"]("");} ;} );$("#wd")["blur"](function (){if($("#wd")["val"]()==""){$("#wd")["val"]($key);} ;} );} ;$("#fav")["click"](function (){var _0xa267x2=window["location"]["href"];try{window["external"]["addFavorite"](_0xa267x2,document["title"]);} catch(err){try{window["sidebar"]["addPanel"](document["title"],_0xa267x2,"");}

ascii2native 转码 解码的更多相关文章

  1. c#转码解码

    ///反转码                          mdata[k].MNAME = unescape(mdata[k].MNAME);程家楠 13:51:00 Microsoft.JSc ...

  2. Python Base64转码解码

    Python Base64 提供了好几种方法例如: encode, decode, encodestring, decodestring, b64encode, b64decode, standard ...

  3. javascript Base64转码解码

    javascript 使用btoa和atob来进行Base64转码和解码 $scope.checkAddCookie = function() { var expireDate = new Date( ...

  4. Halcon的二维码解码步骤和解码技巧

    一.二维码简介 1 . 类型多样,常见的有QR Code二维码. Data Matrix二维码等. 2.高密度编码,信息容量大. 3.容错能力强,具有纠错功能:二维码因穿孔.污损等引起局部损坏时,照样 ...

  5. vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、mockjs用法、路由懒加载三种方式

    不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p> ...

  6. 关于base64转码解码

    刚好涉及到记录一下 1.JS BASE64 解码和编码 js代码: /** * * Base64 encode / decode * * @author haitao.tu * @date 2010- ...

  7. AMR格式语音采集/编码/转码/解码/播放

    1.opencore-amr源码下载 https://sourceforge.net/projects/opencore-amr/files/opencore-amr/ 2.opencore-amr编 ...

  8. Python 二维码解码

    二维码解析 Python中关于二维码解析的现成模块有很多,比较著名的就是Zbar以及ZXing.然而很不幸的是,官方的版本都是支持到python2.x,下面是在python2.x的例子: import ...

  9. JavaScript中url 传递参数(特殊字符)解决方法及转码解码的介绍

    有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码   十六进制值 1. + URL 中+号表示空格 %2B 2. 空 ...

随机推荐

  1. Head First Python学习笔记3——持久存储

    经过上几章的学习,完成如下任务:读取一个文本文件里的内容,将每一行的内容按“:”分割成两部分,根据分割出第一项判断并分别放入两个列表里,去除首尾空白,在屏幕上打印. # 两个列表用于存储数据man=[ ...

  2. 阿里云Maven仓库

    <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexu ...

  3. Hive配置文件hive-site.xml

    <configuration> <property> <name>hive.metastore.warehouse.dir</name> <val ...

  4. MVC,MVP 和 MVVM 的图示(转)

    作者: 阮一峰 日期: 2015年2月 1日 转自:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html 复杂的软件必须有清晰合理的架构,否则 ...

  5. ASP.NET Core 2 学习笔记(十)视图

    ASP.NET Core MVC中的Views是负责网页显示,将数据一并渲染至UI包含HTML.CSS等.并能痛过Razor语法在*.cshtml中写渲染画面的程序逻辑.本篇将介绍ASP.NET Co ...

  6. Bash:常用命令工具-uniq

    NAME uniq - report or omit repeated lines SYNOPSIS uniq [OPTION]... [INPUT [OUTPUT]] DESCRIPTION Fil ...

  7. Yii查询count()

    BsCapters::model()->findAllBySql("select count(*) as bookids from bs_capters where bookid = ...

  8. [微信小程序]微信开发工具出现 1not found 编译 .wxss文件信息错误怎么办?

    错误代码: "1not found 编译 .wxss文件信息错误",如 下图 出现场景: 1.一般出现在安装新版本之后出现的状况,可能由于版本之间的兼容导致 解决办法: 1.重装整 ...

  9. drupal7 带表达式条件的update

    原本的mysql语句是这样的: ; 转化成drupal的api是这样的 $total_amount=1; $rows= db_update('my_payment_card') ->expres ...

  10. animation3 背景小动画笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...