Coding & Programming/Python 기초(A-Z)

[Python:파이썬:기초] 21-4. 내장 함수: 바이너리 데이터(바이트 배열) 처리 - bytearray, bytes() function examples

mainCodes 2021. 6. 16. 20:51

[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([123])
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([123])
print("b3 = ", b3)
b4 = bytes('메인코즈', encoding='cp949')
print("b4 = ", b4)
b5 = bytes('메인코즈', encoding='euc-kr')
print("b5 = ", b5)
cs

 

🔗 실행결과(Output):

이상 JollyTree였습니다 (•̀ᴗ•́)و