>백엔드 개발 >파이썬 튜토리얼 >Python 인코딩 유형 변환

Python 인코딩 유형 변환

高洛峰
高洛峰원래의
2017-03-01 13:32:001141검색

이 기사의 예에서는 Python 인코딩 유형 변환 방법을 설명합니다. 참고하실 수 있도록 모두와 공유해 주세요. 자세한 내용은 다음과 같습니다.

1: Python 및 유니코드

다국어 텍스트를 올바르게 처리하려면, Python은 버전 2.0 유니코드 문자열 이후에 도입되었습니다.

2: Python으로 인쇄

Python은 내부적으로 처리를 위해 텍스트 인코딩을 유니코드 인코딩으로 변환해야 하지만 터미널 표시 작업은 전통적인 Python 문자열(In 사실, Python의 print 문은 2바이트 유니코드로 인코딩된 문자를 전혀 인쇄할 수 없습니다.

Python의 print는 출력 유니코드 인코딩에 대해 자동으로 인코딩 변환을 수행합니다(기타 유니코드가 아닌 인코딩의 경우 print는 그대로 출력합니다)(콘솔에 출력할 때). 그러나 파일 객체의 쓰기 메서드는 하지 마십시오. 따라서 일부 문자열이 인쇄로 정상적으로 출력되는 경우 파일에 쓰는 것이 반드시 인쇄와 동일하지는 않습니다.

리눅스에서는 환경변수에 따라 변환되어 나오는데, 리눅스에서는 locale 명령어를 사용하면 알 수 있다. print 문의 구현은 출력할 내용을 운영 체제에 전송하는 것이며, 운영 체제는 시스템의 인코딩에 따라 입력 바이트 스트림을 인코딩합니다.

>>>str='学习python'
>>> str
'\xe5\xad\xa6\xe4\xb9\xa0python' #asII编码
>>> print str
学习python
>>> str=u'学习python'
>>> str       ####unicode编码
'\xe5u\xad\xa6\xe4\xb9\xa0python'

3: decode in python

다른 문자 세트를 유니코드 인코딩으로 변환합니다(한자만 필요함). 변환됨)

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'

이렇게 하면 한자가 인코딩되어 변환되며 이후 처리에는 Python을 사용할 수 있습니다(변환하지 않으면 Python이 됩니다. 머신의 환경 변수에 따라 기본 인코딩 변환을 수행하므로 잘못된 문자가 나타날 수 있습니다.)

4: Python에서 인코딩

유니코드를 다른 문자 집합으로 변환

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'
>>> ustr.encode('utf-8')
'\xe5\xad\xa6\xe4\xb9\xa0'
>>> print ustr.encode('utf-8')
学习

Python 인코딩 유형 변환과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.