2013-05-22 3 views
-1

문자열을 인코딩하는 함수 (그물에서 찾았습니다)와 해당 JavaScript가 있습니다. 하지만 js에 익숙하지 않아서 이걸 사용하도록 도와주세요! 자바 스크립트 기능을 사용하는 방법?

이 코드 :이 기능을 인코딩 문자열을보고 나는 PHP는 GET 요청 방법이 인코딩 된 문자열 필요로하는

function encode($string) { 
var one=new Array([1,1,1],[1,0,1],[1,0,0],[0,0,1]); 
var zero=new Array([0,1,0],[1,1,0],[0,1,1],[0,1,0],[0,0,0]); 
var a=new Array();var b=new Array();var c=new Array(); 
var i;for($i=0;$i<$string.length;$i++) a[$i]=$string.charAt($i); 
for($i=0;$i<a.length;$i++) a[$i]=a[$i].charCodeAt(0); 
for($i=0;$i<a.length;$i++) { 
    b[$i]=new Array();$j=0; 
    while(a[$i]) { 
     b[$i][$j++]=a[$i]%2;a[$i]=parseInt(a[$i]/2);} 
    if($j<8) for($k=$j;$k<8;$k++) b[$i][$k]=0;} 
for($i=0;$i<b.length;$i++) for($j=0;$j<8;$j++) 
    b[$i][$j]=(b[$i][$j]==0)?(zero[(parseInt(Math.random()*10))%5]):(one[(parseInt(Math.random()*10))%4]); 
var l=b.length;for($j=0;$j<8;$j++) for($k=0;$k<3;$k++) for($i=0;$i<l;$i++) c[$k*l+$i+$j*3*l]=b[$i][$j][$k]; 
var fString=""; 
for($i=0;$i<l*3;$i++) { 
    var a=0;for($j=0;$j<8;$j++) a+=c[$j+$i*8]*exp(2,$j);fString+="|"+a;} 
return fString;} 

가 :

"http://example.com/?id="+encode(getId())+"&t="+Math.random() 

을 나도 몰라하는 방법을 제공하는 js 함수에 문자열, 일부 문자열을주는 예제로 도와주세요 그리고 마지막으로 Math.Random() 설명 그 범위는 얼마입니까?

+0

사이의 난수를 발생? 그 기능에는 무엇이 포함되어 있습니까? – nickb

+0

인코딩하려는 대상은 무엇입니까? URL 검색어 매개 변수? 특정 인코딩을 사용하고 있거나 URL에서 문자열을 안전하게 만드나요? –

+0

인코딩 된 문자열을 어떻게 디코딩 할 계획입니까? – Adder

답변

1

당신은 JS 함수에 당신이 정말로

var a = function(str){alert(str)} 
a("This is a string") 

수학은 어떤 수학 연산을 수행하는 유틸리티 함수의 무리가 포함 된 다른 언어에서와 방법을 문자열을 줄 것입니다. 인 Math.random()는 네 getId '()'기능이 정의되는 0과 1

+1

여기서 jsFiddle은 exp 함수가 동등하고 빠른 코드로 대체 된 함수를 제공합니다. http://jsfiddle.net/kAk5G/ – Adder

관련 문제