티스토리 뷰

반응형

 

 

 


String을 구성하는 문자
Character

사용자에게 인식되는 문자와 유사한 단일 확장 문자 타입으로, 양방향 컬렉션(Bidirectional Collection)인 String 문자열 타입의 구성 요소이기도 한 것이 바로 Character 타입입니다.

 


Declaration
선언

Chracter의 선언부는 위와 같습니다. 

Character 타입의 선언부입니다. Character는 구조체로 되어있습니다.

 

 


OverView
개요

 

 

Swift에서의 String 문자열은 해당 문자열을 구성하는 문자들이 각각 하나 혹은 그 이상의 유니코드 스칼라 값으로 구성되어 있기 때문에, Character의 갯수가 유니코드 스칼라 값과 동일하지 않을 수 있습니다.

그렇기에, String의 길이를 잴때는 첫번째 문자부터 차근차근 밟아가면 문자 갯수를 카운팅하며, 이런 이유로 String의 count 시간복잡도는 일반적은 컬렉션과 달리 O(N)이 됩니다. 

 

 

앞서 여러번 얘기했듯이, String 문자열을 구성하고 있는 Character 문자들은 각기 다른 1개이상의 유니코드 스칼라 값을 갖고 있으며 이들은 서로 어우러져 확장된 'grapheme cluster'로 이루어집니다.

가령 두개의 문자가 세트로 합쳐져 하나의 이모티콘이 되기도 합니다. 이렇게 각각의 문자들이 어우러쳐 그룹화를 이루는 방법은 다양한 유니코드 분할 알고리즘(지역화, 맞춤화 등)으로 이루어집니다. 

 

 

예를 들면, 지역을 표시하는 상징인 "U", "S" 문자는 두개가 붙으면 미국 국기를 상징하는 하나의 이모티콘이 되기도 합니다. 

 

 


Character 타입의 문자들은 각각의 인스턴스에 asciiValue, 혹은 Unicode.Scalar 등의 접근으로 각각의 아스키 값을 얻을 수도 있습니다. 이부분도 흥미 있으시다면 찾아보셔도 좋을 것 같습니다. 🤗

지금까지 스위프트의 Character 타입에 대해서 알아봤습니다. 즐거운 하루 되세요 ~ 👩🏻‍💻

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함