아스키 코드 기본지식
- charCodeAt()
주어진 인덱스에 있는 16비트 유니코드 값을 반환한다.
BMP(기본 다국어 평면) 문자(0x0000 ~ 0xFFFF)만 처리할 수 있다.
console.log('A'.charCodeAt()) // 65
- String.fromCharCode(아스키 번호)
아스키 번호의 문자를 반환
const p1 = String.fromCharCode(65, 66, 67)
console.log(p1) // "ABC"
- codePointAt()
주어진 인덱스에 있는 21비트 유니코드 코드 포인트 값을 반환한다.
BMP 문자뿐만 아니라, 서브 문자를 포함하여 모든 유니코드 문자를 처리할 수 있다.
이모지와 같은 4바이트 문자를 올바르게 반환한다.
const emoji = '😊'
console.log(emoji.codePointAt(0)); // 128522 (정확한 코드 포인트)
- 아스키 코드로 z에 도달할시 a로 돌아가게하는법
solution(s, n)
for (let i = 0; i < s.length; i++) {
let char = s[i];
if{
let charCode = char.charCodeAt(0);
let base;
// 대문자와 소문자 구분
if (char >= 'a' && char <= 'z') {
base = 'a'.charCodeAt(0);
charCode = ((charCode - base + n) % 26) + base;
}