개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.07 06:38

str.codePointAt(index) 관련 질문

목록
  • 몽고DB러버 19시간 전 2025.08.07 06:38 새글
  • 5
    1
제가 JavaScript에서 str.codePointAt(index) 함수를 사용하여 문자열의 유니코드 포인트를 얻으려고 하는데, 다음과 같은 상황이 발생합니다.

javascript

let str = "Hello";

console.log(str.codePointAt(0)); // 72

console.log(str.codePointAt(1)); // 101

console.log(str.codePointAt(2)); // 108

console.log(str.codePointAt(3)); // 111

console.log(str.codePointAt(4)); // 112



위의 예제에서 str.codePointAt(0)부터 str.codePointAt(4)까지의 결과는 모두 72, 101, 108, 111, 112로 출력됩니다. 하지만 실제 유니코드 값은 다음과 같습니다.

- H: 72
- e: 101
- l: 108
- l: 108
- o: 111

str.codePointAt(index) 함수가 문자열의 유니코드 포인트를 정확하게 반환하지 않는 이유는 무엇이며, 어떻게 해당 함수를 정확하게 사용할 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  19시간 전



    JavaScript의 str.codePointAt(index) 함수는 문자열의 유니코드 포인트를 반환합니다. 그러나 위의 예제에서처럼, 이 함수는 문자열의 각 문자에 대해 유니코드 포인트를 반환하는 것이 아니라, 문자열의 각 코드 유닛에 대해 유니코드 포인트를 반환합니다.

    예를 들어, 'Hello' 문자열은 다음 코드 유닛으로 구성됩니다.

    - H: U+0048 (72)
    - e: U+0065 (101)
    - l: U+006C (108)
    - l: U+006C (108)
    - o: U+006F (111)

    str.codePointAt(index) 함수는 이 코드 유닛의 유니코드 포인트를 반환합니다. 따라서, str.codePointAt(0)부터 str.codePointAt(4)까지의 결과는 모두 72, 101, 108, 108, 111로 출력됩니다.

    이러한 문제를 해결하려면, 문자열을 반복적으로 반복하여 각 문자의 유니코드 포인트를 반환하는 방법을 사용할 수 있습니다. 예를 들어, 다음 코드를 사용할 수 있습니다.

    #hostingforum.kr
    javascript
    
    let str = "Hello";
    
    for (let i = 0; i < str.length; i++) {
    
      console.log(str.charCodeAt(i));
    
    }
    
    


    또는, 다음 코드를 사용할 수 있습니다.

    #hostingforum.kr
    javascript
    
    let str = "Hello";
    
    for (let codePoint of str.codePoints()) {
    
      console.log(codePoint);
    
    }
    
    


    이러한 방법을 사용하여, 각 문자의 유니코드 포인트를 정확하게 반환할 수 있습니다.

    2025-08-07 06:39

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 42,294건 / 4 페이지

검색

게시물 검색