어제 오늘 내일

[Java] String / codePointAt(int index) 사용법 및 예제 본문

IT/Java

[Java] String / codePointAt(int index) 사용법 및 예제

hi.anna 2024. 12. 9. 20:38

 

Code Point란?

코드 포인트는 유니코드 문자를 식별하기 위해 유니코드에서 각 문자에 할당한 고유한 숫자값입니다.

 

codePointAt(int index)

지정된 인덱스의 유니코드 코드포인트를 반환합니다.

Syntax

java.lang.String
public int codePointAt(int index)

 

  매개변수  

int index

  • 코드 포인트를 가져올 문자열의 위치 (0부터 시작)

  리턴 값  

지정된 인덱스의 유니코드 코드포인트를 int 타입으로 반환

 

  예외  

IndexOutOfBoundsException

인덱스가 유효하지 않은 경우 (0보다 작거나 문자열 길이 이상인 경우) 발생

 

예제. 

  코드  

public class CodePointAtExample {
    public static void main(String[] args) {

        String str = "안녕하세요";

        // 0번 인덱스의 유니코드 코드포인트 가져오기
        int codePoint = str.codePointAt(0);

        // 출력
        System.out.println("0번 인덱스의 코드포인트: " + codePoint);
        System.out.println("유니코드 문자: " + new String(Character.toChars(codePoint)));

        // 이모지 문자열에서 사용
        String emojiStr = "😊👍";
        int emojiCodePoint = emojiStr.codePointAt(0);
        System.out.println("이모지의 코드포인트: " + emojiCodePoint);
        System.out.println("이모지: " + new String(Character.toChars(emojiCodePoint)));
    }
}

 

  결과  

0번 인덱스의 코드포인트: 50504
유니코드 문자: 안
이모지의 코드포인트: 128522
이모지: 😊

 

  설명  

str.codePointAt(0);emojiStr.codePointAt(0);

문자열의 0번 인덱스에 있는 문자 '안'과 이모지 '😊'의 유니코드 코드포인트 값을 반환합니다.

 

new String(Character.toChars(codePoint));new String(Character.toChars(emojiCodePoint));

Character.toChars(codePoint)는 유니코드 코드 포인트를 문자열 배열(char[])로 변환하는 메소드 입니다.

char[] 에 담간 문자열을 String으로 변환하여 출력하고 있습니다.

 

 

 

 

반응형
Comments