⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 en-decoding.js

📁 ajax patterns 这是关于ajax设计模式方面的原代码
💻 JS
字号:
function urlDecode(str){    str=str.replace(new RegExp('\\+','g'),' ');    return unescape(str);}function urlEncode(str){    str=escape(str);    str=str.replace(new RegExp('\\+','g'),'%2B');    return str.replace(new RegExp('%20','g'),'+');}var END_OF_INPUT = -1;var base64Chars = new Array(    'A','B','C','D','E','F','G','H',    'I','J','K','L','M','N','O','P',    'Q','R','S','T','U','V','W','X',    'Y','Z','a','b','c','d','e','f',    'g','h','i','j','k','l','m','n',    'o','p','q','r','s','t','u','v',    'w','x','y','z','0','1','2','3',    '4','5','6','7','8','9','+','/');var reverseBase64Chars = new Array();for (var i=0; i < base64Chars.length; i++){    reverseBase64Chars[base64Chars[i]] = i;}var base64Str;var base64Count;function setBase64Str(str){    base64Str = str;    base64Count = 0;}function readBase64(){        if (!base64Str) return END_OF_INPUT;    if (base64Count >= base64Str.length) return END_OF_INPUT;    var c = base64Str.charCodeAt(base64Count) & 0xff;    base64Count++;    return c;}function encodeBase64(str){    setBase64Str(str);    var result = '';    var inBuffer = new Array(3);    var lineCount = 0;    var done = false;    while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){        inBuffer[1] = readBase64();        inBuffer[2] = readBase64();        result += (base64Chars[ inBuffer[0] >> 2 ]);        if (inBuffer[1] != END_OF_INPUT){            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);            if (inBuffer[2] != END_OF_INPUT){                result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);                result += (base64Chars [inBuffer[2] & 0x3F]);            } else {                result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);                result += ('=');                done = true;            }        } else {            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);            result += ('=');            result += ('=');            done = true;        }        lineCount += 4;        if (lineCount >= 76){            result += ('\n');            lineCount = 0;        }    }    return result;}function readReverseBase64(){       if (!base64Str) return END_OF_INPUT;    while (true){              if (base64Count >= base64Str.length) return END_OF_INPUT;        var nextCharacter = base64Str.charAt(base64Count);        base64Count++;        if (reverseBase64Chars[nextCharacter]){            return reverseBase64Chars[nextCharacter];        }        if (nextCharacter == 'A') return 0;    }    return END_OF_INPUT;}function ntos(n){    n=n.toString(16);    if (n.length == 1) n="0"+n;    n="%"+n;    return unescape(n);}function decodeBase64(str){    setBase64Str(str);    var result = "";    var inBuffer = new Array(4);    var done = false;    while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT        && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){        inBuffer[2] = readReverseBase64();        inBuffer[3] = readReverseBase64();        result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));        if (inBuffer[2] != END_OF_INPUT){            result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));            if (inBuffer[3] != END_OF_INPUT){                result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));            } else {                done = true;            }        } else {            done = true;        }    }    return result;}var digitArray = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');function toHex(n){    var result = ''    var start = true;    for (var i=32; i>0;){        i-=4;        var digit = (n>>i) & 0xf;        if (!start || digit != 0){            start = false;            result += digitArray[digit];        }    }    return (result==''?'0':result);}function pad(str, len, pad){    var result = str;    for (var i=str.length; i<len; i++){        result = pad + result;    }    return result;}function encodeHex(str){    var result = "";    for (var i=0; i<str.length; i++){        result += pad(toHex(str.charCodeAt(i)&0xff),2,'0');    }    return result;}function decodeHex(str){    str = str.replace(new RegExp("s/[^0-9a-zA-Z]//g"));    var result = "";    var nextchar = "";    for (var i=0; i<str.length; i++){        nextchar += str.charAt(i);        if (nextchar.length == 2){            result += ntos(eval('0x'+nextchar));            nextchar = "";        }    }    return result;    }<HTML><HEAD><TITLE>JavaScript Base64 Encoding</TITLE><link REL="SHORTCUT ICON" HREF="/favicon.ico"><script type="text/javascript"><!--var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function encode64(input) {   var output = "";   var chr1, chr2, chr3;   var enc1, enc2, enc3, enc4;   var i = 0;   do {      chr1 = input.charCodeAt(i++);      chr2 = input.charCodeAt(i++);      chr3 = input.charCodeAt(i++);      enc1 = chr1 >> 2;      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);      enc4 = chr3 & 63;      if (isNaN(chr2)) {         enc3 = enc4 = 64;      } else if (isNaN(chr3)) {         enc4 = 64;      }      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +          keyStr.charAt(enc3) + keyStr.charAt(enc4);   } while (i < input.length);      return output;}function decode64(input) {   var output = "";   var chr1, chr2, chr3;   var enc1, enc2, enc3, enc4;   var i = 0;   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");   do {      enc1 = keyStr.indexOf(input.charAt(i++));      enc2 = keyStr.indexOf(input.charAt(i++));      enc3 = keyStr.indexOf(input.charAt(i++));      enc4 = keyStr.indexOf(input.charAt(i++));      chr1 = (enc1 << 2) | (enc2 >> 4);      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);      chr3 = ((enc3 & 3) << 6) | enc4;      output = output + String.fromCharCode(chr1);      if (enc3 != 64) {         output = output + String.fromCharCode(chr2);      }      if (enc4 != 64) {         output = output + String.fromCharCode(chr3);      }   } while (i < input.length);   return output;}//--></script><!-- These pages are (C)opyright 2002-2005, Tyler Akins --><!-- Fake email for spambots: info@rumkin.com --><link rel="stylesheet" type="text/css" media="screen, projection" href="/inc/normal.css" title="Default"><link rel="stylesheet" type="text/css" media="print" href="/inc/print.css" title="Print"><script language=javascript src="/inc/site.js"></script><script language="JavaScript1.2" src="/inc/site2.js"></script></head><body><p><div>   <table align=left border=0 cellpadding=0 cellspacing=0 class=menutable>      <tr><td align=center><div class=menu>      <a class="menu" href="/"      onmouseover="CheckVer(1.2, 'MenuDesc(-1)')">Rumkin</a> |      <a id="ml1" href="/fun/" onmouseover="CheckVer(1.2, 'MenuDesc(1)')"      class="menu" onmouseout="CheckVer(1.2, 'SetMenuHide()')">Fun</a> |      <a id="ml2" href="/reference/" onmouseover="CheckVer(1.2, 'MenuDesc(2)')"      class="menu" onmouseout="CheckVer(1.2, 'SetMenuHide()')">Info</a> |       <a id="ml0" href="/software/" onmouseover="CheckVer(1.2, 'MenuDesc(0)')"      class="menu" onmouseout="CheckVer(1.2, 'SetMenuHide()')">Software</a> |      <a id="ml3" href="/tools/" onmouseover="CheckVer(1.2, 'MenuDesc(3)')"      class="menu" onmouseout="CheckVer(1.2, 'SetMenuHide()')">Tools</a>      <ilayer name=dep1><layer name=dep2></layer></ilayer>      <div class=submenu id=describe></div>      </div>   </tr></td></table>    <h1 class="pagetitle">JavaScript Base64 Encoding</h1></div></p><form name="base64Form"><p>This form will let you encode and decode Base64 encoded text.  A very similarmethod of encoding is used for holding the data for the <a href="compress_huff.php">Huffman compression</a> method of JavaScriptcompression.</p><p>Type in the message you want converted and then press Encode or Decode.</p><textarea name="theText" cols="40" rows="6"></textarea><br><input type="button" name="encode" value="Encode to base64"onClick="document.base64Form.theText.value=encode64(document.base64Form.theText.value);"><input type="button" name="decode" value="Decode from base64" onClick="document.base64Form.theText.value=decode64(document.base64Form.theText.value);"></form><hr size=3><table cellpadding=0 cellspacing=0 width=100% border=0><tr><td valign=top width=65%><div class=topic><iframe width="100%" height=150 frameborder=1 name=topicif id=topicifallowTransparency=true src="/topic.php/compression?page=%2Ftools%2Fcompression%2Fbase64.php&theme=normal&topic=compression"><script language="javascript"><!--ShowTopicLink();// --></script><noscript><a href="/topic.php/compression?page=%2Ftools%2Fcompression%2Fbase64.php&theme=normal&topic=compression">See comments about this page.</a></noscript></iframe></div></td><td><div class=topic>&nbsp;&nbsp;&nbsp;&nbsp;</div></td><td valign=top align=right><div class=topic><font size=-2>Some of the most popular lipstick shades in Renaissance England were named Rat, Horseflesh, Turkey, Blood, and Puke.</font><br><br></div><font size=-2>Tyler&nbsp;Akins&nbsp;&lt;<SCRIPT LANGUAGE="JavaScript"><!--ML="\"ehyf:n/<> @=lm.ordita";MI="8E:2A14<0>EC=D@54CBCE6;DC63?61D094CBCE6;DC63?61D87E9";OT="";for(j=0;j<MI.length;j++){OT+=ML.charAt(MI.charCodeAt(j)-48);}document.write(OT);// --></SCRIPT><NOSCRIPT>Sorry, you need javascript to view this email address</noscript>&gt;</font></td></tr></table></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -