String.fromCharCode() - 유니코드(아스키코드)를 문자열로 변환

송한솔·2023년 5월 21일
0

String.fromCharCode()를 설명하기에 앞서
이해를 위해 charCodeAt() 메서드를 먼저 설명하겠습니다.

charCodeAt()메서드는 알파뱃을 아스키코드로 반환해주는 메서드입니다

예제

var s = "ABCDE abcde";
for(var i = 0; i < s.length; i++){
  var charNum = s[i].charCodeAt();
  console.log(charNum);
}

결과

65 - 90은 알파뱃 대문자 A - Z입니다.
97 - 122는 알파뱃 소문자 a - z입니다.
32는 공백" "의 아스키코드입니다.

변환된 아스키코드를 다시 문자로 변환

  var s = "ABCDE abcde";
  var text = '';
  for(var i = 0; i < s.length; i++){
    var charNum = s[i].charCodeAt();
    console.log(charNum);
    text += String.fromCharCode(charNum);
  }
  console.log(text);

이런식으로 String.fromCharCode(변환시킬숫자)를 이용하면 아스키코드로 된 문자들을 알파뱃으로 변화시킬 수 있습니다.

배열에선 어떻게 사용할까요?

var s = [65, 66, 67];
changeText = String.fromCharCode(s);
console.log(changeText);

이렇게 사용하면 오류메세지도 나오지 않고 아무것도 출력되지 않는 것을 볼 수 있습니다.
이는 String.fromCharCode() 메서드가 유니코드만을 받아서 출력하기 때문입니다.
이 경우 String.fromCharCode(s)는 s를 유니코드가 아닌 [65, 66, 67]로 인식하고
이에 대응하는 유니코드 문자가 없기에 아무것도 출력하지 않는 것입니다.

이 경우 전개 연산자...를 사용하여 해결할 수 있습니다.

   var s = [65, 66, 67];
    changeText = String.fromCharCode(...s);
    console.log(changeText); // ABC

0개의 댓글