ASCII 는
미국 국립 표준 협회에서 표준화한 정보교환용 7비트 부호체계이다.
ASCII 는
영문 알파벳을 사용하는 대표적인 문자 인코딩이다.
🍎 문자 인코딩 [ Character Encoding ]
사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것
복잡한 신호를 0과 1의 디지털 신호 (2진수) 로 변환하는 것
ASCII 는 33 개의 출력 불가능한 제어 문자들과
공백을 비롯한 95개의 출력 가능한 문자들로,
000(0x00) 부터 127(0x7F) 까지 총 128 개로 이루어져 있다.
ASCII 는 2바이트 이상의 다양한 코드들을 표현할 수 없기 때문에
현대에는 유니코드 [ Unicode ] 를 더 많이 사용한다.
Unicode 는
전 세계의 모든 문자를 컴퓨터에서 일관되기 표현하고
다룰 수 있도록 설계된 산업 표준이다.
ASCII 가 널리 사용되면서
다양한 ASCII 기반의 확장 인코딩들이 등장했고,
이들을 묶어서 ASCII 라고 부르기도 한다.
ASCII to Int
let char = "A"
print(UnicodeScalar(char)?.value) // Optional(65) - UInt32
UnicodeScalar
를 위와 같이 사용하면
A 의 아스키코드 값인 65 를 얻을 수 있다.
Int to ASCII
let num = 97
print(UnicodeScalar(num)) // Optional("a")
String to ASCII
let str = "abcDEF"
for index in str.utf16 {
print(index)
// 97
// 98
// 99
// 68
// 69
// 70
}
Korean to ASCII
let char = "탱"
print(UnicodeScalar(char)?.value) // Optional(53489) - UInt32
모두 한 글자, Character 타입이어야 가능하다.
📚 Reference
ASCII(아스키 코드)란 무엇인가? (유니코드, 패리티 검사 등)
Swift) Unicode to Int/Int to Unicode
UnicodeScalar
String.UTF16View
String.UnicodeScalarView