> 백엔드 개발 > 파이썬 튜토리얼 > setdefaultencoding 함수 사용법에 대한 자세한 설명

setdefaultencoding 함수 사용법에 대한 자세한 설명

巴扎黑
풀어 주다: 2017-08-21 14:55:53
원래의
2221명이 탐색했습니다.

sys.getdefaultencoding()은 기본 문자열 인코딩 형식을 설정합니다. Python에서 인코딩 및 디코딩할 때 인코딩 방법을 지정하지 않으면 Python에서 defaultencoding을 사용합니다.

python2.x의 기본 인코딩은 ascii입니다. 이것이 대부분의 Python 인코딩 오류가 발생하는 이유입니다: "UnicodeDecodeError: 'ascii' 코덱이 바이트를 디코딩할 수 없습니다...".

비슷한 기능을 가진 #coding:utf-8은 소스 코드의 인코딩을 정의하는 데 사용됩니다. 정의되지 않으면 소스 코드에 중국어 문자열이 포함될 수 없습니다.

참고: python2 이후에는 setdefaultencoding이 중단됩니다. .7 이므로 python3에서는 사용할 수 없습니다. 사실 이는 sys의 첫 번째 import 문이 아니며 이는 실제로 sys 모듈의 두 번째 또는 세 번째 가져오기일 수 있음을 의미합니다. 다시 로드로만 다시 로드할 수 있습니다.

그렇다면 다시 로드해야 하는데 함수를 직접 참조하여 호출할 수 없는 이유는 무엇입니까? setdefaultencoding 함수는 시스템에서 호출된 후 삭제되므로 가져오기를 통해 참조할 때 더 이상 존재하지 않습니다. 따라서 setdefaultencoding을 사용할 수 있고 인터프리터의 현재 문자 인코딩을 사용할 수 있도록 sys 모듈을 한 번 다시 로드해야 합니다. 코드에서 수정되었습니다.

Python 설치 디렉터리의 Lib 폴더에는 site.py라는 파일이 있습니다. 이 파일에서 main() --> setencoding()-->sys.setdefaultencoding(encoding)을 찾을 수 있습니다. .py는 파이썬 인터프리터가 시작될 때마다 자동으로 로드되므로 main 함수는 매번 실행되며, setdefaultencoding 함수는 나오자마자 삭제됩니다.

위 내용은 setdefaultencoding 함수 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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