Strings are MUCH more complex than I thought in Python
- 파이썬에서 문자열 인덱싱은 생각보다 복잡하며, 문자(character)는 다양한 의미를 가질 수 있음 🤯
- CPython에서 문자열은 유니코드 코드 포인트로 저장되며, 코드 포인트는 유니코드의 각 문자에 할당된 숫자임 🔢
ord()
함수는 문자를 코드 포인트로, chr()
함수는 코드 포인트를 문자로 변환함 🔄
- 그래프임(Grapheme)은 일반적으로 우리가 인식하는 하나의 문자이고, 그래프임 클러스터(Grapheme Cluster)는 여러 코드 포인트로 구성된 시각적 단위임 👁️
- 그래프임 클러스터는 여러 코드 포인트로 이루어져 인덱싱 시 예상치 못한 결과를 초래할 수 있음 💥
- 특정 터미널 환경에서는 유니코드 문자 지원이 미흡하여 문자가 제대로 표시되지 않을 수 있음 🖥️
- 그래프임 클러스터를 제대로 가져오려면 슬라이스 표기법을 사용해야 함 🔪
- 문자열 인덱싱에 대한 이해를 높이기 위해 Rust 언어 학습도 도움이 될 수 있음 🦀