2016-12-27 7 views
1

저는 파이썬에 익숙하지 않고이 인코딩 작업에 대해 혼란 스럽습니다. 지금까지, 나는 "인코딩"의 다음과 같은 유형에 대해 읽었습니다 :sys.stdout.encoding, locale.getpreferredencoding() 및 sys.getdefaultencoding()의 차이점은 무엇입니까?

import sys 
import locale 

print (sys.stdout.encoding) 
print (locale.getpreferredencoding()) 
print (sys.getdefaultencoding()) 

출력 :

utf8 
cp1252 
utf-8 

차이점은 무엇입니까?

답변

0

간단히 말해 인코딩은 데이터가 메모리에 저장되는 방식입니다. 다른 방법으로 더 많은 문자와 정보를 허용합니다. 에 대한 깊이있는 설명은 당신이 일을하거나 물리적 또는 the coding function의의 사용과 인코딩 유형을 호출하여 저장되는 방식을 변경할 수 있습니다 파이썬에서 하나 http://kunststube.net/encoding/, 또는 Wikipedia

를 읽을 환영합니다 이상입니다.

python3.x의 환경에서는 sys.stdout.encodingsys.getdefaultencoding() 사이에는 차이가 없습니다. 그들은 모두 8 바이트 코드 단위 (가장 표준)를 사용합니다. 기본 인코딩 인 locale.getpreferredencoding() (cp1252)은 latin1의 Windows 버전입니다.

어떤 방법이나 기능으로도 빠른 피드백을 얻고 싶다면 언제든지 help 명령을 사용할 수 있습니다.

예 :

>>> import locale 
>>> help(locale.getpreferredencoding) 

출력 :

Help on function getpreferredencoding in module locale: 

getpreferredencoding(do_setlocale=True) 
    Return the charset that the user is likely using, 
    according to the system configuration. 
(END)