python程序中中文乱码如何解决,Python 乱码

  python程序中中文乱码如何解决,Python 乱码

  

  1、demo.py 文件和编码声明都为 GBK

  这个方法比较笨,就是把demo.py文件改成GBK存储,编码语句也是GBK,个人不推荐。

  热门IT软件开发工作室,大量免费python视频教程,欢迎在线学习!

  #编码:gbk

  S=中文

  印刷品

  印刷公司

  2、中文用 unicode 表示

  只要在中文前面加一个小U标记,后面的中文就会用unicode存储。

  #编码:utf-8

  S=u 中文

  印刷品

  Unicode字符可以在printrepr(s)cmd下打印,如下所示:

  相关:《Python教程》

  3、把中文强制转换为GBK或者unicode编码

  强制转换为unicode编码,代码可以在Python中相互转换,比如utf-8到gbk,但是不同的代码不能直接转换。它需要通过unicode字符集进行转换。从上面的基础知识可以知道,unicode是字符集,不属于编码,而utf-8是一种具体实现unicode思想的编码。Utf-8转unicode是一个解码过程,可以通过decode从utf-8解码成unicode。

  #编码:utf-8

  S=中文

  u=美国解码( utf-8 )

  printu

  打印类型(u)

  打印机(u)

  强制转换为gbk编码,上一步已经从utf-8转换为unicode。unicode是编码的过程,通过encode实现。

  #编码:utf-8

  S=中文

  u=美国解码( utf-8 )

  g=u.encode(gbk )

  printg

  打印类型(g)

  印刷公司

  总结

  windows cmd窗口不支持Utf-8。如果要显示中文,必须转换成gbk或者unicode,Python idle支持这三种编码。中文乱码都是编码不一致造成的。utf-8用于存储,gbk用于打印会出现乱码。所以要保证乱码尽量不要保持统一。建议对所有代码使用unicode。

  decode 解码

  从其他编码改为unicode,叫做解码。解码被用作解码方法。第一个参数是解码后的字符串的原始编码格式,如果写错了会报错。比如s是utf-8,用gbk解码会出错。

  #编码:utf-8

  S=中文

  u=美国解码( gbk )

  printu

  印刷公司

  小提示

  在Python idle和cmd下直接输入s= Chinese 会用gbk编码。如果在一个文件中输入s= Chinese ,文件存储格式是utf-8,那么s是用utf-8编码存储的,这就有点不一样了。你踩到坑了,文件运行成功Python idle可能会失败。

  encode 编码

  不能直接从utf-8转换成gbk,必须用unicode转换,这个很重要。编码后的原始字符串必须是unicode,否则会出错。

  raw_input

  Raw_input用于获取用户输入值,获取的用户输入值与当前运行环境代码相关。例如,如果cmd下的默认编码是gbk,那么输入的汉字就用gbk编码,不考虑demo.py文件编码格式和编码声明。

  #编码:utf-8

  s=raw _ input( inputsomething : )

  印刷品

  打印类型

  打印机

  GBK编码一个汉字的两个字节,而UTF 8编码一个汉字的三个字节。

  细心的朋友注意到了,raw_input的提示是英文的,如果改成中文,真的有乱码。

  #编码:utf-8

  S=raw_input(请输入汉字:)

  印刷品

  打印类型

  打印机

  我该怎么办?只需强制提示字符串为gbk编码,但不允许unicode和utf-8。

  #编码:utf-8

  S=raw_input(u 请输入汉字:。编码( gbk ))

  印刷品

  打印类型

  印刷公司

  相等陷阱

  两个字符串“中文”用不同的编码存储,utf-8编码和gbk编码存储的“中文”是不同的。

  总结

  如果你想避免乱码,请记住以下五条规则:

  (1)文件以utf-8格式存储,其编码声明为utf-8,# encoding3360UTF-8。

  (2)在汉字出现的地方前面加U。

  (3)不同代码不能直接转换,要经过unicode中间跳转。

  (4)在4)cmd下不支持utf-8编码。

  (5)5)raw _ input提示字符串只能用gbk编码。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 浅谈python程序的错误-变量未定义的原因,浅谈python程序的错误-变量未定义为
  • 浅谈python程序的错误-变量未定义的原因,浅谈python程序的错误-变量未定义为,浅谈Python程序的错误-变量未定义
  • Python程序设计与算法基础教程,python算法指南
  • Python程序设计与算法基础教程,python算法指南,Python常用算法学习基础教程
  • ,,8个实用的Python程序你知道几个
  • python程序打包成exe可执行文件,python程序打包成exe后的 运行速度
  • python流程管理,Python程序开发流程
  • Python程序开发案例教程,python程序设计案例实践教程
  • python编程基础与案例集锦,python程序代码实例
  • python程序设计实例教程董付国课后答案,python程序设计第三版董付国
  • 如果在python程序中没有导入相关模块,python外部模块不用导入可以直接使用
  • Python程序语言设计基础,Python编程设计
  • python程序语言的特点,Python编程的特点
  • python程序编写,python编程求素数
  • python向服务器发送数据,python程序如何在服务器部署
  • 留言与评论(共有 条评论)
       
    验证码: