일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Files
- 인텔리제이
- CMD
- javascript
- 문자열
- json
- js
- date
- Array
- string
- Maven
- ArrayList
- table
- list
- windows
- 이탈리아
- 배열
- 테이블
- input
- 자바
- html
- vscode
- Visual Studio Code
- Button
- IntelliJ
- Java
- CSS
- Eclipse
- 이클립스
- 자바스크립트
- Today
- Total
어제 오늘 내일
[Java] String / codePointCount(int beginIndex, int endIndex) 사용법 및 예제 본문
[Java] String / codePointCount(int beginIndex, int endIndex) 사용법 및 예제
hi.anna 2024. 12. 9. 21:42
codePointCount(int beginIndex, int endIndex)
문자열에서 특정 범위 내의 유니코드 코드 포인트 수를 반환하는 메소드입니다.
코드 포인트는 유니코드에서 문자를 표현하는 고유한 숫자 값입니다.
유니코드는 여러 바이트로 구성된 문자를 처리할 수 있기 때문에,
한 문자가 여러 코드 유닛(16비트 값)으로 나뉠 수 있습니다. (surrogate pair)
codePointCount() 메소드는 이러한 실제 유니코드 코드포인트의 개수를 리턴합니다.
Syntax
java.lang.String
public int codePointCount(int beginIndex, int endIndex)
매개변수
int beginIndex
유니코드 코드 포인트 수를 계산할 시작 인덱스 (포함)
int endIndex
유니코드 코드 포인트 수를 계산할 끝 인덱스(불포함)
리턴 값
beginIndex와 endIndex 사이에 포함된 코드 포인트의
예외
IndexOutOfBoundsException
주어진 인덱스 값이 잘못된 범위에 있을 때 발생
- beginIndex가 음수인 경우
- endIndex가 문자열의 길이보다 큰 경우
- beginIndex가 endIndex보다 큰 경
예제.
코드
public class CodePointCountExample {
public static void main(String[] args) {
String str = "Hello, 🌍!";
// 문자열 length 구하기
int strLength = str.length();
System.out.println("문자열 길이: " + strLength);
// 문자열 전체의 유니코드 코드 포인트 수 구하기
int totalCodePoints = str.codePointCount(0, strLength);
System.out.println("문자열 전체 코드포인트: " + totalCodePoints);
// "Hello" 부분의 코드 포인트 수
int helloCodePoints = str.codePointCount(0, 5);
System.out.println("Hello 코드 포인트: " + helloCodePoints);
// "🌍" 이모지 부분의 코드 포인트 수
int emojiCodePoints = str.codePointCount(7, 9);
System.out.println("🌍 코드 포인트: " + emojiCodePoints);
}
}
결과
문자열 길이: 10
문자열 전체 코드포인트: 9
Hello 코드 포인트: 5
🌍 코드 포인트: 1
설명
str.length()
문자열의 UTF-16 코드 유닛 개수를 리턴합니다.
UTF-16에서 문자열을 구성하는 문자가 1개일 경우 1개의 코드 유닛을 차지하지만,
🌍와 같은 이모지는 2개의 코드 유닛으로 구성됩니다.
str.codePointCount(0, strLength);
문자열 전체의 유니코드 코드 포인트 수를 리턴합니다.
🌍는 1개의 코드 포인트로 계산됩니다.
str.codePointCount(0, 5);
Hello 부분의 코드 포인트 수를 리턴합니다.
str.codePointCount(7, 9);
🌍 부분의 코드 포인트 수를 계산합니다.
이모지 🌍는 두개의 char 값으로 표현되지만, 실제 유니코드 코드 포인트는 1입니다.
'IT > Java' 카테고리의 다른 글
[Java] 코드 포인트(Code Point) vs 코드 유닛(Code Unit) (0) | 2024.12.09 |
---|---|
[Java] String / length() 사용법 및 예제 (0) | 2024.12.09 |
[Java] String / codePointBefore(int index) 사용법 및 예제 (0) | 2024.12.09 |
[Java] String / codePointAt(int index) 사용법 및 예제 (0) | 2024.12.09 |
[Java] String / compareToIgnoreCase(String str) 사용법 및 예제 (0) | 2024.12.02 |