Python 문자열

ROK·2022년 1월 4일
0

텍스트 데이터를 문자열로 저장

문자열

우리 주변에는 수많은 텍스트 데이터가 있다
텍스트 데이터는 문자열(String)로 표현을 한다. 파이썬에서 문자열은 작은 따옴표(') 또는 큰 따옴표(")로 묶은 문자들이다.

str_01 = "Welcome~!"
str_02 = "Hello World"

위와 같이 문자열 데이터를 변수에 저장, 리스트, 튜플, 딕셔너리에도 같은 방법으로 저장할 수 있다
변수에 데이터를 할당하면 이 데이터들은 컴퓨터의 주 기억장치인 메모리(RAM)에 저장된다

인코딩과 디코딩

문자열 데이터가 메모리에 저장될 떄 컴퓨터 내부에서 일어나는 일
컴퓨터는 0과 1 이진 데이터(binary data)로 표현되기 때문에 데이터도 마찬가지로 0과 1로 변환돼 다루어진다
이진 데이터의 최소 단위는 비트(bit)이고, 비트가 8개가 모이면 바이트(byte)가 된다
메모리에는 바이트로 저장된다

비트와 바이트

  • 바이트(byte) : 컴퓨터의 기본 저장 단위
    • 1바이트(1 byte)는 8비트(bit)이다
    • 1바이트에는 2의 8승개, 256개의 고유한 값을 저장할 수 있다
  • 인코딩(encoding) : 문자열을 바이트로 변환하는 과정
  • 디코딩(decoding) : 바이트를 문자열로 변환하는 과정

텍스트 데이터의 처리과정


위 그림에서 사람이 이해할 수 있는 데이터는 텍스트 데이터, 문자열 데이터를 의미한다 그렇다면 문자열을 어떻게 이진수로 변환(인코딩)할까?
문자를 각 숫자에 대응 시키고 이 숫자를 이진수로 변환하는 방법을 사용한다

국제 표준 기구(ISO:International Standards Organization)는 전 세계 문자를 모두 표시할 수 있는 표준 코드를 제정했다. 이를 유니코드(Unicode)라 한다

UTF-8, UTF-16은 무엇인가? UTF-8과 유니코드가 같은 것이라고 혼동하는 경우가 많은데 유니코드는 오직 한 가지 버전만 존재하고, UTF-8, -16 등은 유니코드로 정의된 텍스트를 메모리에 인코딩하는 방식들을 말한다

참조 유니코드와 UTF-8

파이썬에는 유니코드를 확인할 수 있는 함수가 있다
ord() 해당 문자에 대응하는 유니코드 숫자를 반환
chr() 해당 유니코드 숫자에 대응하는 문자를 반환

파이썬과 유니코드

파이썬에서 모든 문자열은 유니코드로 표현된다

파이썬 3부터 문자열은 유니코드의 규약을 따른다. 이는 외부 데이터 및 데이터베이스로부터 데이터를 읽거나 보낼 떄는 인코딩 혹은 디코딩 작업을 거쳐야 하며, 인코딩 규약은 내부적으로 유니코드(UTF-8)임을 의미한다

profile
하루에 집중하자

0개의 댓글