[세줄요약]
1. 파이썬은 작은따옴표(') 혹은 큰따옴표(")로 문자열을 사용할 수 있다.
2. 파이썬3은 문자열 데이터를 유니코드로 인코딩한 뒤 컴퓨터의 저장장치에 저장한다.
3. 컴퓨터에 저장된 기록을 보기 위해서는 사람이 알 수 언어로 변환하는 디코딩 과정을 거쳐야한다.
Python에서 텍스트 데이터를 문자열로 저장하는법
Python에서 텍스트 데이터는 문자열(string)이라는 데이터 타입으로 사용할 수 있습니다.
파이썬에서 문자열을 리터럴(literal). 즉, 작은따옴표(') 혹은 큰따옴표(")로 묶어 아래 코드처럼 사용합니다.
my_str = 'Welcome!'
ur_str = "You're welcome."
print(my_str) #Welcome!
print(ur_str) #You're welcome.
type(my_str) #str
type(ur_str) #str
위 코드처럼 변수에 데이터를 할당하면, 데이터는 RAM에 적재됩니다.
이때, 파이썬3은 문자열 데이터를 유니코드로 인코딩한 뒤 RAM에 적재합니다.
(파이썬2에서는 아스키 코드로 인코딩한 후에도 유니코드(unicode)로 변환하는, 2번의 변환과정을 진행해야합니다)
인코딩(encoding)과 디코딩(decoding)
컴퓨터는 모든 데이터를 아래 그림과 같이 1과 0, 이진 데이터(binary data)로 처리합니다.
그래서, 위 문자열 데이터를 컴퓨터가 처리할 수 있도록 숫자로 변형해주어야합니다.
때문에, 문자열 및 모든 데이터 타입을 바이트로 변환하는 과정을 진행하며, 이 과정을 인코딩이라 합니다.
반대로, 컴퓨터에 있는 기록을 사람이 보기 위해서는 바이트를 특정 데이터 타입으로 변환하는 디코딩 과정을 거쳐 사람이 알아볼수 있는 언어 및 숫자로 변형합니다.
인코딩와 디코딩을 하는 방법은 여러가지가 있지만, 파이썬에서는 국제표준기구인 ISO에서 지정한 '유니코드'라는 기준을 사용합니다.
그리고 아래 함수로 문자와 숫자를 유니코드로 변환하거나, 유니코드를 문자 및 숫자로 변화하는 기능을 지원합니다.
- ord() : 해당 문자에 대응하는 유니코드 숫자를 반환합니다.
- chr() : 해당 유니코드 숫자에 대응하는 문자를 반환합니다.
print(ord('a')) # 97
print(ord('A')) # 65
print(chr(97)) # a
print(ord('가')) # 44032
print(chr(0xAC00)) # 가
좀 더 개념을 정확히 이해하고 싶으시다면 아랫글들을 참고하시면 좋습니다.
'AI > AI 이론' 카테고리의 다른 글
[EP. 31-3] 맵리듀스(MapReduce)의 개념과 원리 (0) | 2021.11.22 |
---|---|
[EP. 31-2] Split-Apply-Combine(분할-적용-병합) (0) | 2021.11.22 |
[EP. 31-1] 빅 데이터 처리의 기본 (0) | 2021.11.22 |
댓글