본문 바로가기

라이브러리

[Python] bytearray() 함수 사용법

bytearray() 에 대하여 자세하게 알아봅시다

bytearray()

  • bytearray()는 파이썬의 내장 객체로, 변경 가능한(mutable) 바이트 시퀀스를 만들 때 사용합니다.
  • 바이트 문자열(bytes)와 유사하지만, 값을 변경할 수 있다는 점에서 다릅니다.
  • 보통 텍스트 인코딩/디코딩, 바이너리 파일 처리 등에 활용됩니다.
  • 생성 형식: bytearray([source[, encoding[, errors]]])1. 빈 bytearray 생성2. 리스트에서 bytearray 생성3. 문자열에서 bytearray 생성 (인코딩 지정)1. bytearray 값 변경 (mutable 특성)2. 파일의 바이너리 데이터 읽기/쓰기
  • with open('example.bin', 'wb') as f: f.write(bytearray([120, 3, 255]))
  • b = bytearray('world', 'utf-8') b[0] = 87 # 아스키코드 87은 'W' print(b) # 출력: bytearray(b'World')
  • b = bytearray('Hello', 'utf-8') print(b) # 출력: bytearray(b'Hello')
  • b = bytearray([65, 66, 67]) # 아스키코드 65='A', 66='B', 67='C' print(b) # 출력: bytearray(b'ABC')
  • b = bytearray() print(b) # 출력: bytearray(b'')
### 3. 인코딩/디코딩 과정에서 bytearray 활용
```python
# 문자열을 UTF-16으로 인코딩 후, 수정하고 디코딩
s = '파이썬'
b = bytearray(s, 'utf-16')
b[2] = 0x41  # 일부 바이트 변경 (주의: UTF-16에서는 한글자당 2바이트)
# 디코딩은 오류가 발생할 수도 있음! (예제 목적으로 보여줌)
try:
    print(b.decode('utf-16'))
except UnicodeDecodeError as e:
    print('디코딩 오류:', e)

총평

  • bytearray()는 바이너리 데이터 처리에서 뛰어난 성능과 유연성을 제공합니다.
  • bytes 타입과 달리 값을 바로바로 수정할 수 있다는 점이 큰 장점입니다.
  • 인코딩 및 파일 입출력 등 다양한 상황에 쓸 수 있어, 파이썬에서 저수준 데이터 조작이 필요할 때 꼭 알아둬야 할 객체입니다.
  • 다만, 인코딩 방식에 따라 바이트 단위로 데이터가 다르게 저장되므로, 일부 조작 시 올바른 인코딩 정보를 꼭 고려해야 합니다.

'라이브러리' 카테고리의 다른 글

[Python] callable() 함수 사용법  (0) 2025.05.23
[Python] bytes() 함수 사용법  (0) 2025.05.23
[Python] breakpoint() 함수 사용법  (0) 2025.05.23
[Python] bool() 함수 사용법  (0) 2025.05.23
[Python] bin() 함수 사용법  (0) 2025.05.23