티스토리 뷰
String을 구성하는 문자
Character
사용자에게 인식되는 문자와 유사한 단일 확장 문자 타입으로, 양방향 컬렉션(Bidirectional Collection)인 String 문자열 타입의 구성 요소이기도 한 것이 바로 Character 타입입니다.
Declaration
선언
Character 타입의 선언부입니다. Character는 구조체로 되어있습니다.
OverView
개요
Swift에서의 String 문자열은 해당 문자열을 구성하는 문자들이 각각 하나 혹은 그 이상의 유니코드 스칼라 값으로 구성되어 있기 때문에, Character의 갯수가 유니코드 스칼라 값과 동일하지 않을 수 있습니다.
그렇기에, String의 길이를 잴때는 첫번째 문자부터 차근차근 밟아가면 문자 갯수를 카운팅하며, 이런 이유로 String의 count 시간복잡도는 일반적은 컬렉션과 달리 O(N)이 됩니다.
앞서 여러번 얘기했듯이, String 문자열을 구성하고 있는 Character 문자들은 각기 다른 1개이상의 유니코드 스칼라 값을 갖고 있으며 이들은 서로 어우러져 확장된 'grapheme cluster'로 이루어집니다.
가령 두개의 문자가 세트로 합쳐져 하나의 이모티콘이 되기도 합니다. 이렇게 각각의 문자들이 어우러쳐 그룹화를 이루는 방법은 다양한 유니코드 분할 알고리즘(지역화, 맞춤화 등)으로 이루어집니다.
예를 들면, 지역을 표시하는 상징인 "U", "S" 문자는 두개가 붙으면 미국 국기를 상징하는 하나의 이모티콘이 되기도 합니다.
Character 타입의 문자들은 각각의 인스턴스에 asciiValue, 혹은 Unicode.Scalar 등의 접근으로 각각의 아스키 값을 얻을 수도 있습니다. 이부분도 흥미 있으시다면 찾아보셔도 좋을 것 같습니다. 🤗
지금까지 스위프트의 Character 타입에 대해서 알아봤습니다. 즐거운 하루 되세요 ~ 👩🏻💻
'iOS 개발 > 개발자문서 정보' 카테고리의 다른 글
Swift Generic 1) 제네릭 개요 및 역할 알아보기 (0) | 2020.07.05 |
---|---|
Swift 문서, 스위프트 표준 라이브러리 개요 (0) | 2020.07.04 |
Swift String, 문자열의 count보다 isEmpty가 빠른 이유 (0) | 2020.07.01 |
Swift BidirectionalCollection, 양방향컬렉션 알아보기 (0) | 2020.06.30 |
iOS swift 컬렉션의 요소 접근, 순회 등 특징 및 성능 (0) | 2020.06.28 |
- Total
- Today
- Yesterday
- Swift 알고리즘
- 개발자문서
- 자연어처리
- 부스트코스
- swift
- 백준알고리즘
- 컬렉션
- publisher
- 프로그래머스
- 알고리즘문제
- swift reduce
- createML
- swift 문자열
- swift문제
- uikit
- 김프매매
- swift알고리즘
- Protocol
- Collection
- 알고리즘
- 프로토콜
- 프로그래머스swift
- ios
- swift언어
- CoreML
- swift string
- swift 기초
- 스위프트
- SwiftUI
- 백준swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |