python3 中文输出乱码问题
直接在windows命令行运行切换到pythonprint("中文")输出为中文但是在sublimetext3里创建的py文件默认编码也是utf-8文件内容如下#-*-c...
直接在windows命令行运行切换到python print("中文") 输出为 中文但是在sublime text3 里创建的py文件 默认编码也是utf-8 文件内容如下# -*- coding: utf-8 -*-print("中文")在windows命令行里运行py文件 输出如图所示但是把py文件改为# -*- coding: utf-8 -*-print(u"中文")输出就正常了
展开
4个回答
展开全部
python 3和2很大区别就是python本身改为默认用unicode编码。
字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、
由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如“sys.setdefaultencoding”;
也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。
另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。
答按惯例都在(序列化)输出时才转换成本地编码。
比如
file.write("GBK的中文".encode("GBK"))
python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。
字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、
由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如“sys.setdefaultencoding”;
也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。
另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。
答按惯例都在(序列化)输出时才转换成本地编码。
比如
file.write("GBK的中文".encode("GBK"))
python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。
展开全部
加上这句代码 # -*- coding: utf-8 -*- ,采用UTF-8编码,是为了支持中文,如果程序当中没有中文,这句没用。python的编码就是很麻烦,需要转来转去,你现在加上这句代码,在你需要输出中文的地方,你还是得写成这样u"中文"来指定这个字符串采用UTF编码。
编码的问题我建议系统的看一下,谢谢
编码的问题我建议系统的看一下,谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
优质机构答主
2020-12-25 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
解压文件出现中文乱码怎么办解决办法
华为Mate50 Pro曲面旗舰手机
¥6799
苹果 AirPods Pro 2代
¥1699
索尼65英寸4K HDR专业游戏电视
¥7499
惠普战66五代15.6英寸轻薄本
¥4399
查
看
更
多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
python3字符串都是unicode编码的,不存在乱码啊,你用的是python2吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询