문자열 길이 제한의 함정
2025-04-30
이 글에서는 문자열 길이 제한의 복잡성을 자세히 다룹니다. 문자 인코딩(UTF-8, UTF-16, 유니코드 코드 포인트, 그래피미 클러스터)이 다르기 때문에 길이 계산 방법이 다양하며, 프런트엔드, 백엔드, 데이터베이스 등의 계층 간에 불일치가 발생하기 쉽고, 이로 인해 버그가 발생할 수 있습니다. 저자는 완벽하지는 않지만 NFC 정규화를 사용한 유니코드 코드 포인트 계산을 최상의 방법으로 제안합니다. 이 글에서는 그래피미 클러스터 계산, UTF-8 바이트 계산, UTF-16 코드 유닛 계산 등의 방법의 장단점을 살펴보고, 하이브리드 계산 방법의 예제 코드를 제공합니다.
개발
문자열 길이