python 3 에서 bytes 와 string 간 의 상호 전환

2354 단어 pythonstringbytes
머리말
Python 3 의 가장 중요 한 새로운 특성 은 텍스트 와 바 이 너 리 데 이 터 를 더욱 뚜렷하게 구분 한 셈 이다.텍스트 는 항상 유 니 코드 로 str 형식 으로 표시 되 고 바 이 너 리 데 이 터 는 bytes 형식 으로 표 시 됩 니 다.Python 3 은 str 와 bytes 를 임의의 암시 적 인 방식 으로 혼용 하지 않 습 니 다.바로 이 로 인해 이들 의 구분 이 매우 뚜렷 합 니 다.문자열 과 바이트 패 키 지 를 연결 할 수도 없고,바이트 패키지 에서 문자열 을 검색 할 수도 없고,인자 가 바이트 패키지 인 함수 에 문자열 을 전송 할 수도 없습니다.(반대로 도 마찬가지 입 니 다.)
python 3.0 에서 bytes 형 데 이 터 를 어떻게 만 듭 니까?

bytes([1,2,3,4,5,6,7,8,9])
bytes("python", 'ascii') #    ,  
먼저 원본 문자열 을 설정 합 니 다.

Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> website = 'https://www.jb51.net/'
>>> type(website)
<class 'str'>
>>> website
'https://www.jb51.net/'
>>>
utf-8 방식 으로 인 코딩 하여 bytes 로 변환 합 니 다.

>>> website_bytes_utf8 = website.encode(encoding="utf-8")
>>> type(website_bytes_utf8)
<class 'bytes'>
>>> website_bytes_utf8
b'https://www.jb51.net/'
>>>
gb 2312 방식 으로 인 코딩 하여 bytes 로 변환 합 니 다.

>>> website_bytes_gb2312 = website.encode(encoding="gb2312")
>>> type(website_bytes_gb2312)
<class 'bytes'>
>>> website_bytes_gb2312
b'https://www.jb51.net/'
>>>
string 으로 디 코딩,기본 값 은 입력 하지 않 음

>>> website_string = website_bytes_utf8.decode()
>>> type(website_string)
<class 'str'>
>>> website_string
'https://www.jb51.net/'
>>>
>>>
string 으로 디 코딩 하고 gb 2312 방식 을 사용 합 니 다.

>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312")
>>> type(website_string_gb2312)
<class 'str'>
>>> website_string_gb2312
'https://www.jb51.net/'
>>>
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기