]
파이썬에는 문자열 데이터의 시퀸스를 표현하는 두가지 타입이 있다.
이진 데이터
를 나타낸다. 0부터 255까지의 정수 값을가지는 바이트 값들의 시퀸스 이다. 바이트 값은 작은 따옴표 (b’ ‘
)또는 큰 따옴표(' b" " ')로 둘러싸여 있다.텍스트 데이터
를 나타낸다. 유니코드 문자를 저장하고 처리하는 데 사용된다. 문자열은 작은 따옴표 ' '
또는 큰 따옴표 " "
로 둘러싸여 있다.# bytes 예제
my_bytes = b'Hello, World!' # bytes 객체 생성
print(my_bytes) # b'Hello, World!'
# bytes를 str로 디코딩
decoded_str = my_bytes.decode('utf-8')
print(decoded_str) # Hello, World!
# str 예제
my_str = '안녕하세요!' # str 객체 생성
print(my_str) # 안녕하세요!
# str을 bytes로 인코딩
encoded_bytes = my_str.encode('utf-8')
print(encoded_bytes) # b'\xec\x95\x88\xeb\x85\x95\xed\x95\x98\xec\x84\xb8\xec\x9a\x94!'
# bytes 객체의 요소에 접근
print(my_bytes[0]) # 72
# str 객체의 요소에 접근
print(my_str[1]) # '녕'
주로 텍스트를 다룰때는 str
을 사용하고, 이진데이터(이미지, 음성파일 등)를 다룰 때는 bytes
를 사용한다.
그러나 두 가지 타입 간에는 변환이 가능하며 str
을 bytes
로 인코딩하거나 bytes
를 str
로 디코딩 할 수 있다. 이를 통해 텍스트와 이진 데이터를 변환하고 처리할 수 있다 .