파이썬 Bytes에 관한 이해
서론
파이썬은 강력한 프로그래밍 언어로, 문자열을 다루는 데에도 유용한 기능들을 많이 제공합니다. 이 중 하나가 바로 “bytes” 객체인데, bytes는 바이너리 데이터를 효과적으로 다룰 수 있는 자료형입니다. 이번 포스팅에서는 파이썬 bytes에 대해 자세히 알아보고, 이를 활용하는 방법을 알아보겠습니다.
본론
1. bytes 객체 생성하기
bytes 객체는 다양한 방법으로 생성할 수 있습니다.
방법 1: bytes() 함수 사용하기
python
b = bytes([65, 66, 67])
print(b) # b'ABC'
방법 2: b로 시작하는 리터럴 사용하기
python
b = b'Hello, world!'
print(b) # b'Hello, world!'
2. bytes 객체 다루기
bytes 객체는 기본적으로 변경할 수 없는(immutable) 자료형입니다. 하지만 바이너리 데이터를 조작해야 할 때에는 bytes 객체를 수정할 수 있는 bytearray 객체를 사용하는 것이 더 적합할 수 있습니다.
bytes 객체의 메서드
len(b)
: bytes 객체의 길이를 반환합니다.b[i]
: bytes 객체의 i번째 위치에 있는 요소를 반환합니다.
bytearray 객체의 생성 및 수정
python
b = bytearray(b'Hello, world!')
b[0] = 72
print(b) # bytearray(b'Hello, world!')
3. bytes 객체와 문자열 변환
bytes 객체와 문자열 간에 변환하는 방법도 제공됩니다.
bytes 객체를 문자열로 변환하기
python
b = b'Hello, world!'
s = b.decode('utf-8')
print(s) # Hello, world!
문자열을 bytes 객체로 변환하기
python
s = 'Hello, world!'
b = s.encode('utf-8')
print(b) # b'Hello, world!'
4. 파일 다루기
bytes 객체는 파일 입출력에 유용하게 사용될 수 있습니다. 파일에서 바이너리 데이터를 읽거나 쓰기 위해 rb
또는 wb
모드를 사용하면 됩니다.
파일 읽기
“`python
with open(‘image.jpg’, ‘rb’) as f:
b = f.read()
bytes 객체로 읽은 데이터를 처리하는 코드 작성
“`
파일 쓰기
“`python
b = b’Hello, world!’
with open(‘file.bin’, ‘wb’) as f:
f.write(b)
“`
결론
파이썬 bytes를 사용하면 바이너리 데이터를 효과적으로 다룰 수 있습니다. bytes 객체를 생성하고 다루는 방법을 알아보았으며, 문자열과의 변환, 파일 다루기 등 다양한 활용법을 배웠습니다. bytes를 사용하여 메모리 효율적으로 프로그램을 작성해보세요!