>  기사  >  백엔드 개발  >  Python 중국어 왜곡 문제 요약

Python 중국어 왜곡 문제 요약

巴扎黑
巴扎黑원래의
2016-12-03 10:57:161378검색

Python2에서 한자가 깨져 나오는 문제를 한번에 명확하게 설명해주세요.
초보자가 더 이상 python2에서 한자가 왜곡되는 것에 대해 걱정하지 않도록 돕기 위해!

자세한 내용은 디엠컴퍼니의 파이썬 교육 강사인 황 형제를 참조하세요.
1. 작성하는 코드 모듈은 인코딩을 지정해야 합니다.
코드가 코딩을 지정하지 않으면 파이썬을 사용합니다. 기본값은 모든 문자입니다.
ASCII 코드는 256자만 지원합니다. ASCII 코드는 중국어를 지원하지 않으므로 오류가 발생합니다.
따라서 코드 앞에 #coding:utf-8 또는 #coding:gbk를 써야 합니다
그러나 일반적으로 #coding:utf-8을 씁니다

2. python2 내부의 모든 인코딩은 유니코드로 통합됩니다.
유니코드는 전 세계 모든 언어의 문자를 처리할 수 있습니다.
utf-8은 유니코드 구현 형태이므로 코드 앞에 #coding:utf-8을 적어야 합니다

3. 코딩 변환
python2의 내부 인코딩은 다음과 같습니다. unicode.
다른 인코딩의 경우 decode()는 유니코드이고 encode()는 사용자가 지정하는 인코딩이므로 문자가 깨질 수 없습니다.

4. 웹페이지 수집 시
코드 지정 #coding:utf-8
웹페이지 인코딩이 gbk인 경우
다음과 같이 처리해야 합니다.
html = html.decode('gbk' ).encode('utf-8')

5. 코드 앞에 #coding:gbk를 쓸 수도 있지만 코드 파일이 다음에 저장되어 있는지 확인해야 합니다. gbk 형식입니다. Windows 질문에 다음과 같이 표시됩니다.

6. 사전 키 또는 값의 한자 문제 ​​
#coding:utf-8
dict1 ={1:'파이썬 주말 교육 수업',2:'상담 010-68165761 QQ: 1465376564 '}

print dict1
# 이 출력은 한자를 표시하지 않지만 한자의 다른 인코딩을 표시합니다

dict2 ={1:'python video training class', 2:'Consultation 010 -68165761 QQ: 1465376564'}
for key in dict2:
print dict2[key]

7. 유니코드 한자 인코딩이 텍스트 파일에 기록됩니다
. 텍스트 파일 변환의 인코딩을 기반으로 합니다.
인코딩('utf-8') 또는 인코딩('gbk')이 가능합니다.

요약: 오류 메시지의 오류에 "ASCII"가 포함된 경우, 이는 한자 인코딩이 지정되지 않았음을 의미합니다.


------문자열의 인코딩 유형을 가져옵니다------------------------------- ---- ---------------------
>>> 날짜 = urllib2 .urlopen("http://www.baidu.com")
>>> d = date.read()
>>> import chardet
>>> ; chardet.Detect( d)
{'confidence': 0.99, 'encoding': 'utf-8'}

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