Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트에서 2진수 문자열을 원래 문자로 변환하는 방법

문제 정의

2진수(binary) 코드가 담긴 문자열을 입력받아, 원래의 알파벳 텍스트 형태로 변환하여 반환하는 자바스크립트 함수를 작성해야 합니다.

예를 들어, 아래와 같은 2진수 입력 문자열이 있다고 가정해 보겠습니다 −

const str = '1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100';

그렇다면 함수는 다음과 같은 결과를 반환해야 합니다 −

const output = 'Hello World';

해결 접근 방식

이 문제는 split(), parseInt(), String.fromCharCode() 세 가지 기본 메서드만 활용하면 간단하게 해결할 수 있습니다. 처리 과정은 다음과 같습니다.

먼저 split(' ')을 사용해 공백을 기준으로 문자열을 나누어 각 2진수 단위로 분리합니다. 그다음 parseInt(part, 2)를 통해 각 2진수 조각을 10진수 숫자로 변환하고, String.fromCharCode()로 해당 숫자에 대응하는 문자로 바꿔줍니다. 마지막으로 join('')을 사용해 모든 문자를 하나의 완성된 문자열로 결합하면 됩니다.

예제 코드

실제 구현 코드는 다음과 같습니다 −

const str = '1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100';

const binaryToString = (binary = '') => {
   let strArr = binary.split(' ');
   const str = strArr.map(part => {
      return String.fromCharCode(parseInt(part, 2));
   }).join('');
   return str;
};

console.log(binaryToString(str));

출력 결과

위 코드를 실행하면 콘솔에 다음과 같이 출력됩니다 −

Hello World