2016-08-15 1 views
-2

이 기능을 취소하는 방법은 무엇입니까? 그것은 텍스트에서 80 비트 바이너리 코드를 생성합니다. 인터넷에서 찾았지만 작업을 되돌리고 결과 바이너리 코드로 텍스트를 복원하는 방법을 모릅니다.ASCII에서 이진 함수

var bin2ascii = function(bin) { 
    return bin.reverse().join('').match(/.{8}/g).map(
     x => String.fromCharCode(parseInt(x, 2)) 
    ).join(''); 
} 

테스트를 :

var ascii2bin = function(ascii) 
{ 
    var bin = "00000000000000000000000000000000000000000000000000000000000000000000000000000000"; 
    for (var i = 0; i < ascii.length; i++) 
    { 
     var code = ascii.charCodeAt(i); 
     bin += ('00000000' + code.toString(2)).slice(-8); 
    } 
    return bin.slice(-10 * 8).split('').reverse(); 
} 
+0

['parseInt (..., 2)'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt) 이진 옥텟을 char 코드 값으로 읽는 법 es, 그리고 나서 ['String.fromCharCode'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode) char 코드 값을 문자로 변환합니다. – apsillers

답변

0

귀하의 기능은 정보의 가치가 10 자에 대한 결과가 반전 될 수보다 그 길이가 너무 만 입력 (마지막 줄에 -10 참조) 자릅니다

bin2ascii(ascii2bin('')); // '' 
bin2ascii(ascii2bin('foo bar')); // 'foo bar' 
bin2ascii(ascii2bin('Test 123')); // 'Test 123' 
bin2ascii(ascii2bin('This is a long string')); // 'ong string' 
+0

그것은 완벽하게 작동합니다, 대단히 감사합니다 :) – Inder

관련 문제