ASCII 코드란?
ASCII는 7비트 문자 인코딩 방식으로, 각 비트 조합이 하나의 고유한 문자를 나타냅니다.
영어 알파벳의 모든 문자는 각각 고유한 십진수 ASCII 코드 값을 가지고 있습니다. 예를 들어 대문자 'A'는 65, 소문자 'a'는 97입니다.
이번 글에서는 문자열을 입력받아 해당 문자열에 포함된 모든 문자의 ASCII 코드 값을 합산한 점수를 반환하는 자바스크립트 함수를 작성해 보겠습니다.
구현 예제
다음은 문자열의 ASCII 점수를 계산하는 코드입니다 −
const str = 'This string will be used for calculating ascii score';
const calculateASCII = str => {
let res = 0;
for(let i = 0; i < str.length; i++){
const num = str[i].charCodeAt(0);
res += num;
};
return res;
};
console.log(calculateASCII(str));
코드 설명
이 함수는 다음과 같은 순서로 동작합니다.
먼저 합계를 저장할 변수 res를 0으로 초기화합니다. 이후 for 반복문으로 문자열의 각 문자를 하나씩 순회하면서, charCodeAt(0) 메서드를 사용해 현재 위치 문자의 ASCII 코드(십진수)를 가져옵니다. 가져온 값은 res에 계속 누적되며, 반복이 끝나면 최종 합계를 반환합니다.
참고로 charCodeAt()은 UTF-16 코드 유닛을 반환하지만, 영어 알파벳과 기본 ASCII 범위의 문자라면 그 값이 ASCII 코드와 동일하므로 그대로 활용할 수 있습니다.
출력 결과
콘솔에 출력되는 결과는 다음과 같습니다 −
4946