파이썬 바이트()

ItsMyCode |

Pythonbytes() 함수는 지정된 크기 및 데이터의 변경할 수 없는 바이트 표현 객체를 반환합니다.
bytes() 메서드는 0 <= x < 256 범위에서 객체의 불변(변경 불가) 시퀀스를 제공합니다.

변경 가능한 버전을 원하면 bytearray() 방법을 사용할 수 있습니다.

바이트() 구문


bytes() 메서드의 구문은 다음과 같습니다.

**bytes([source[, encoding[, errors]]])**


바이트() 매개변수


bytes() 메서드는 세 가지 선택적 매개 변수를 사용합니다.

  • 소스(선택 사항) – 바이트 배열을 초기화합니다
  • .

  • encoding (선택 사항) – 소스가 문자열인 경우 문자열의 인코딩.

  • errors(선택 사항) – 인코딩 변환이 실패한 경우 수행할 작업입니다.

  • 소스 매개변수는 다음과 같은 유형이 될 수 있습니다.


    유형
    설명


    str.encode() 를 사용하여 주어진 문자열을 바이트로 변환합니다. 문자열의 경우 인코딩도 인수로 전달해야 하며 선택적으로 오류도 전달해야 합니다.

    정수
    제공된 크기의 배열을 만들고 null 바이트로 초기화합니다.

    물체
    개체의 읽기 전용 버퍼는 바이트 배열을 초기화하는 데 사용됩니다.

    반복 가능
    반복 가능한 개수와 동일한 크기의 배열을 만들고 반복 가능한 요소로 초기화합니다. iterable은 정수여야 하고 범위는 0 <= x < 256 사이여야 합니다.

    출처 없음(인수)
    크기가 0인 배열이 생성됩니다.


    바이트() 반환 값


    bytes() 함수는 지정된 크기의 바이트 배열을 반환하고 값을 초기화합니다.

    예제 1: 주어진 정수 크기의 바이트 생성



    정수의 경우 제공된 크기의 배열을 만들고 null 바이트로 초기화합니다.

    # size of array
    size = 6
    
    # bytes() will create an array of given size
    # and initialize with null bytes
    arr = bytes(size)
    
    print(arr)
    


    산출

    b'\x00\x00\x00\x00\x00\x00'
    


    예 2: 문자열을 바이트로 변환


    str.encode() 를 사용하여 주어진 문자열을 바이트로 변환합니다. 문자열의 경우 인코딩도 인수로 전달하고 선택적으로 오류도 전달해야 합니다.

    # string declaration
    string = "Hello World !!!"
    
    # string with encoding 'utf-8'
    arr1 = bytes(string, 'utf-8')
    print(arr1)
    
    # string with encoding 'utf-16'
    arr2 = bytes(string, 'utf-16')
    print(arr2)
    
    


    산출

    b'Hello World !!!'
    b'\xff\xfeH\x00e\x00l\x00l\x00o\x00 \x00W\x00o\x00r\x00l\x00d\x00 \x00!\x00!\x00!\x00'
    


    문자열 처리 오류는 다음과 같이 정의됩니다.

    *문자열 오류 처리기 : *

  • 엄격: ** 인코딩 실패 시 기본 **UnicodeDecodeError를 발생시킵니다.
  • *ignore: * 인코딩할 수 없는 문자를 무시하고 나머지 문자열을 인코딩합니다.
  • *replace: * 인코딩할 수 없는 문자를 '?'로 바꿉니다.

  • 아래와 같이 인코딩이 실패하면 엄격한 유형이 UnicodeEncodeError를 발생시킵니다.

    
    from typing import Text
    
    text = 'HellÖ WÖrld'
    # Giving ascii encoding and ignore error
    print("Byte conversion with ignore error : " +
          str(bytes(text, 'ascii', errors='ignore')))
    
    # Giving ascii encoding and replace error
    print("Byte conversion with replace error : " +
          str(bytes(text, 'ascii', errors='replace')))
    
    # Giving ascii encoding and strict error throws exception
    print("Byte conversion with strict error : " +
          str(bytes(text, 'ascii', errors='strict')))
    
    

    비단뱀

    산출

    Byte conversion with ignore error : b'Hell Wrld'
    Byte conversion with replace error : b'Hell? W?rld'
    
    Traceback (most recent call last):
      File "c:\Projects\Tryouts\main.py", line 17, in <module>
        str(bytes(text, 'ascii', errors='strict')))
    UnicodeEncodeError: 'ascii' codec can't encode character '\xd6' in position 4: ordinal not in range(128)
    


    예제 3: 반복 가능한 목록을 바이트로 변환



    반복 가능한 개수와 동일한 크기의 배열을 만들고 반복 가능한 요소로 초기화합니다. iterable은 정수여야 하며 범위는 0 <= x < 256 사이여야 합니다.

    # list of integers
    lst = [1, 2, 3, 4, 5]
    
    # iterable as source
    arr = bytes(lst)
    
    print(arr)
    print("Count of bytes:", len(arr))
    
    


    산출

    b'\x01\x02\x03\x04\x05'
    Count of bytes: 5
    


    예 4: bytes()에 소스가 전달되지 않은 경우



    소스가 bytes() 에 전달되지 않으면 크기가 0인 배열이 생성됩니다.

    # array of size 0 will be created
    
    # iterable as source
    arr = bytes()
    
    print(arr)
    
    


    산출

    b''
    


    게시물 Python bytes()ItsMyCode에 처음 나타났습니다.

    좋은 웹페이지 즐겨찾기