Python 문자열, 바이트, bytearray 유형에 대한 자세한 설명

小云云
풀어 주다: 2017-12-18 09:17:47
원래의
6634명이 탐색했습니다.

Python3은 텍스트와 바이너리 데이터를 구별합니다. 텍스트는 표시에 사용되는 유니코드 인코딩, str 유형입니다. 바이너리 유형은 바이트 유형으로 저장 및 전송에 사용됩니다. bytes는 바이트 시퀀스이고 str은 유니코드 시퀀스입니다. 이번 글은 주로 Python 문자열 유형의 bytearray 유형을 소개합니다. 필요한 친구들이 참고하면 도움이 될 것 같습니다.

1. str 유형:

 >>> s = u'你好'
 >>> s
 '你好'
 >>> type(s)
 <class &#39;str&#39;>
로그인 후 복사

bytes 유형:

 >>> b = b'abc'
 >>> b
 b'abc'
 >>> type(b)
 <class &#39;bytes&#39;>
로그인 후 복사

2. str과 bytes 간의 변환 관계: str-->encode()-->bytes-- > ;decode()-->str

변환 방법 1: encode(), decode()

 >>> a = u'你好'
 >>> b = a.encode('utf-8')
 >>> b
 b'\xe4\xbd\xa0\xe5\xa5\xbd'
 >>> type(b)
 <class &#39;bytes&#39;>
 >>> new_a = b.decode('utf-8')
 >>> new_a
 '你好'
 >>> type(new_a)
 <class &#39;str&#39;>
로그인 후 복사

변환 방법 2: bytes(), str()

 >>> a = u'你好'
 >>> b= bytes(a, encoding='utf-8')
 >>> b 
 b'\xe4\xbd\xa0\xe5\xa5\xbd'
 >>> type(b)
 <class &#39;bytes&#39;>
 >>> new_a = str(b, encoding='utf-8')
 >>> new_a
 '你好'
 >>> type(new_a)
 <class &#39;str&#39;>
로그인 후 복사

Three. type

bytearray 클래스는 0 < = x <

선택적인 source 인수는 몇 가지 다른 방법으로 배열을 초기화하는 데 사용될 수 있습니다.

• 문자열인 경우 인코딩(및 선택적으로 오류) 인수도 제공해야 하며 str 을 사용해야 합니다. encode()는 문자열을 바이트로 변환합니다.
• 정수인 경우 배열은 이 크기를 가지며 null 바이트로 초기화됩니다.
•버퍼 인터페이스를 준수하는 객체인 경우 해당 객체의 읽기 전용 버퍼를 사용하여 바이트 배열이 초기화됩니다.
• 반복 가능한 경우 배열의 초기 내용으로 사용되는 0 < = x < 256 범위의 정수 반복이어야 합니다.
• 인수가 없으면 크기가 0인 배열입니다. 생성됩니다.

소스 매개변수가 문자열인 경우:

 >>> b = bytearray(u'你好', encoding='utf-8')
 >>> b
 bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd')
 >>> type(b)
 <class &#39;bytearray&#39;></p>
<p></p>
<p>소스 매개변수가 정수인 경우: </p>
<p></p>
<pre class="brush:php;toolbar:false">
 >>> b = bytearray(5)
 >>> b
 bytearray(b'\x00\x00\x00\x00\x00')
 >>> type(b)
 <class &#39;bytearray&#39;>
로그인 후 복사

소스 매개변수가 반복 가능한 객체인 경우 이 반복 가능한 객체의 요소는 다음과 같아야 합니다. 0 <= x < 256:

 >>> b = bytearray([1, 2, 3, 4, 255])
 >>> b
 bytearray(b'\x01\x02\x03\x04\xff')
 >>> type(b)
 <class &#39;bytearray&#39;
로그인 후 복사

4을 준수합니다. bytes와 bytearray

bytes의 차이는 str과 동일합니다. bytearray는 목록과 마찬가지로 가변적입니다.

 >>> b = bytearray()
 >>> b
 bytearray(b'')
 >>> b.append(10)
 >>> b
 bytearray(b'\n')
 >>> b.append(100)
 >>> b
 bytearray(b'\nd')
 >>> b.remove(100)
 >>> b
 bytearray(b'\n')
 >>> b.insert(0, 150)
 >>> b
 bytearray(b'\x96\n')
 >>> b.extend([1, 3, 5])
 >>> b
 bytearray(b'\x96\n\x01\x03\x05')
 >>> b.pop(2)
 1
 >>> b
 bytearray(b'\x96\n\x03\x05')
 >>> b.reverse()
 >>> b
 bytearray(b'\x05\x03\n\x96')
 >>> b.clear()
 >>> b
 bytearray(b'')</p>
<p></p>
<p> 5. 바이트 및 bytearray 변환 </p>
<p></p>
<pre class="brush:php;toolbar:false">
 >>> b = b'abcdef'
 >>> bay = bytearray(b)
 >>> bay
 bytearray(b'abcdef')
 >>> b = bytes(bay)
 >>> b
 b'abcdef'
로그인 후 복사

6. bytearray 및 str 변환

 >>> a = 'abcdef'
 >>> b = bytearray(a, encoding='utf-8')
 >>> b
 bytearray(b'abcdef')
 >>> a = b.decode(encoding='utf-8')
 >>> a
 'abcdef'
로그인 후 복사

관련 권장 사항: 여러 유형의 numpy 배열에 대한 간략한 설명 Sort by_python

파이썬 언어로 최대 연속 부분 수열을 설명하고

파이썬을 완전히 마스터하세요

위 내용은 Python 문자열, 바이트, bytearray 유형에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿