Die chinesischen Zeichen von Python sind verstümmelt

巴扎黑
Freigeben: 2016-12-09 11:21:07
Original
1640 Leute haben es durchsucht

Ich habe vor, Python zum Parsen von Netzwerkprotokolldateien zu verwenden.

Unweigerlich stieß ich auf das Problem verstümmelter chinesischer Schriftzeichen.

Ich habe Java gelernt und weiß wirklich nicht, wie ich Python verwenden soll, um das Problem der verstümmelten chinesischen Zeichen zu lösen.

Der Code, der das Debuggen unter Java bestanden hat, machte mich wütend, als er in die Python-Umgebung platziert wurde.

Nach viel Mühe konnte das Problem schließlich mit Hilfe einer Oschina gelöst werden.

Die Hauptideen der Python-Kodierung sind:

1. String

3. Zielkodierungssatz (CP936, GB2312, GBK, GB18030 scheint direkt ineinander konvertierbar zu sein, die meisten Codierungen sind gleich)

Um die Struktur der Systemcodierung von Python zu verstehen, schauen Sie sich zunächst den folgenden Code an:

import locale 
  
def p(f): 
    print '%s.%s(): %s' % (f.__module__, f.__name__, f()) 
  
# 返回当前系统所使用的默认字符编码 
p(sys.getdefaultencoding) 
  
# 返回用于转换Unicode文件名至系统文件名所使用的编码 
p(sys.getfilesystemencoding) 
  
# 获取默认的区域设置并返回元祖(语言, 编码) 
p(locale.getdefaultlocale) 
  
# 返回用户设定的文本数据编码 
# 文档提到this function only returns a guess 
p(locale.getpreferredencoding) 
  
# \xba\xba是'汉'的GBK编码 
# mbcs是不推荐使用的编码,这里仅作测试表明为什么不应该用 
print r"'\xba\xba'.decode('mbcs'):", repr('\xba\xba'.decode('mbcs')) 
  
#在笔者的Windows上的结果(区域设置为中文(简体, 中国)) 
#sys.getdefaultencoding(): gbk 
#sys.getfilesystemencoding(): mbcs 
#locale.getdefaultlocale(): ('zh_CN', 'cp936') 
#locale.getpreferredencoding(): cp936 
#'\xba\xba'.decode('mbcs'): u'\u6c49'
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!