ascii2native 转码 解码
//把十六进制的编码转为原码
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 转码 解码的更多相关文章
- c#转码解码
///反转码 mdata[k].MNAME = unescape(mdata[k].MNAME);程家楠 13:51:00 Microsoft.JSc ...
- Python Base64转码解码
Python Base64 提供了好几种方法例如: encode, decode, encodestring, decodestring, b64encode, b64decode, standard ...
- javascript Base64转码解码
javascript 使用btoa和atob来进行Base64转码和解码 $scope.checkAddCookie = function() { var expireDate = new Date( ...
- Halcon的二维码解码步骤和解码技巧
一.二维码简介 1 . 类型多样,常见的有QR Code二维码. Data Matrix二维码等. 2.高密度编码,信息容量大. 3.容错能力强,具有纠错功能:二维码因穿孔.污损等引起局部损坏时,照样 ...
- vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、mockjs用法、路由懒加载三种方式
不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p> ...
- 关于base64转码解码
刚好涉及到记录一下 1.JS BASE64 解码和编码 js代码: /** * * Base64 encode / decode * * @author haitao.tu * @date 2010- ...
- AMR格式语音采集/编码/转码/解码/播放
1.opencore-amr源码下载 https://sourceforge.net/projects/opencore-amr/files/opencore-amr/ 2.opencore-amr编 ...
- Python 二维码解码
二维码解析 Python中关于二维码解析的现成模块有很多,比较著名的就是Zbar以及ZXing.然而很不幸的是,官方的版本都是支持到python2.x,下面是在python2.x的例子: import ...
- JavaScript中url 传递参数(特殊字符)解决方法及转码解码的介绍
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码 十六进制值 1. + URL 中+号表示空格 %2B 2. 空 ...
随机推荐
- SQL Server提取字段中的所有数字
今天公司项目中遇到了一个需求,要求提取用户电话号码字段中的所有电话信息. 由于该字段在项目最初设计中没有严格控制数据质量,导致用户在输入时包含了很多非电话的信息,如用户名字等(136 **** *** ...
- git 查看暂存区
一.简介 git ls-files 命令是用来查看暂存区中文件信息 二.常用参数 参数说明(括号里是简写) --cached(-c)显示暂存区中的文件,git ls-files命令默认的参数 --de ...
- JVM GC总结
判断对象存活 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1,引用失效时,计数器就减1:任何时刻计数器都为0的对象就是不可能再被使用的. 问题:无法解决对象之间的相互循 ...
- Java异常(一)Java异常简介及其框架
Java异常(一)Java异常简介及其框架 概要 本章对Java中的异常进行介绍.内容包括:Java异常简介Java异常框架 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机 ...
- POJ 2480 Longge's problem 欧拉函数—————∑gcd(i, N) 1<=i <=N
Longge's problem Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6383 Accepted: 2043 ...
- C# SpinWait
其实SpinWait的code 非常简单,以前看过很多遍,但是从来都没有整理过,整理也是再次学习吧. 我们先看看SpinWait的一些评论或者注意点吧:如果等待某个条件满足需要的时间很短,而且不希望发 ...
- Leet Palindrome Partitioning II
class Solution { public: int minCut(string s) { int len = s.length(); ]; char* s_dp = new char[len * ...
- asp.ne如何使用javascript去验证客户端信息,如果验证成功则送往服务器端处理,否则在客户端提示用户(不返回到服务器端处理)
一.问题 在网站一般都有很多地方需要用户去填写一些信息,然后用户点击提交,将信息送往后台储存到数据库中.在这一个过程我以前做法直接在button的click事件中来判断用户输入的数据是否完整和合法,虽 ...
- HTML5 FormData实现文件上传实例
表单提交,文件上传是一个常用又十分麻烦的功能,以前要上传文件通常都是借助插件或者flash来实现,噼里啪啦的加载一大堆东西.自从有了HTML5的FormData后,老板再也不用担心我的上传了. For ...
- CF696C PLEASE
矩阵快速幂+扩展欧拉定理 对于一个矩阵\(A\),我们有\(A^n \equiv A^{n\% \phi(m)+\phi(m)}(\%m)\) 经过简单的列举或推导可得 设目前进行了\(x\)轮,\( ...