[Python:파이썬:기초] 21-4. 내장 함수: 바이너리 데이터(바이트 배열) 처리 - bytearray, bytes() function examples
안녕하세요 JollyTree입니다 (•̀ᴗ•́)و
■ bytearray(x, encoding, error) 함수
바이트 배열(byte arrary)을 반환합니다. x 파라미터 값으로는 길이, 반복 가능 객체, 바이트 배열 객체를 입력할 수 있습니다.
■ bytes(x, encoding, error) 함수
bytes 객체를 반환합니다. x 파라미터 값으로는 길이, 반복 가능 객체, 바이트 배열 객체를 입력할 수 있습니다.
bytes()와 bytearray()의 차이점은 bytes() 함수는 수정할 수 없는 객체를 반환하고 bytearray() 함수는 수정할 수 있는 객체를 반환합니다. 만약 bytes() 함수가 반환한 바이트 객체를 수정하면 다음과 같은 에러가 발생합니다.
TypeError: 'bytes' object does not support item assignment
🔗 bytearray(), bytes() 함수 예제(Example):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
b1 = bytearray(5)
print("b1 = ", b1)
b2 = bytearray(b'mainCodes') #ASCII 방식으로 인코딩한 바이트 배열 객체를 생성
b2[0] = ord('1') #0번째 원소 변경, ord() - ASCII 코드값 반환
print("b2 = ", b2)
b3 = bytearray([1, 2, 3])
print("b3 = ", b3)
b4 = bytearray('Hello', encoding='cp949')
print("b4 = ", b4)
b5 = bytearray('World', encoding='euc-kr')
print("b5 = ", b5)
#bytes: 바이트 객체 반환
b1 = bytes(3)
print("\nb1 = ", b1)
b2 = bytes(b'mainCodes') #ASCII 방식으로 인코딩한 바이트 배열 객체를 생성
#b2[0] = ord('1') #0번째 원소 변경 ; 오류 발생!!
print("b2 = ", b2)
b3 = bytes([1, 2, 3])
print("b3 = ", b3)
b4 = bytes('메인코즈', encoding='cp949')
print("b4 = ", b4)
b5 = bytes('메인코즈', encoding='euc-kr')
print("b5 = ", b5)
|
cs |
🔗 실행결과(Output):
이상 JollyTree였습니다 (•̀ᴗ•́)و