路飞学城Python-Day7(practise)

本文详细解析了Python2与Python3的默认编码差异,并介绍了常见的中文乱码问题及其原因。此外,还探讨了文件处理中不同模式的应用场景,如文本模式与二进制模式的区别。
# 1.编码问题
# i.请说明python2与python3中的默认编码是什么?
# python2中的默认编码是ASCII码,只能识别英文等其他字符
# python3中的默认编码是utf-8
# ii.为什么会出现中文乱码,你能列举出现乱码的情况有哪几种?
# 1.打开文件的时候没有按照原本文件的编码格式打开,比如原文件是GBK的编码,你用utf-8打开
# 2.部分解释器不支持的编码格式
# iii.如何进行编码转换?
# 使用encoding和decoding方法,看图说话

 


# iv.#-*-coding:utf-8-*-的作用是什么?
# pycharm默认在会去文件头的第一行看你有没有指定编码,写上#-*-coding:utf-8-*-的文件就会按照这个utf-8编码格式去编码文件
# v.解释py2 bytes vs py3 bytes的区别
# Python3默认是Unicode,如果你想得到bytes,那就在文本之前加上前缀 b , 或者 encode 一下
# Python2默认是ASCII,如果你想得到bytes,emmm,bytes就是str
# -------------------------------------------------------------------------
# 2.文件处理
# i.r和rb的区别是什么?
# r就是文件的读模式,需要指定文件编码的打卡模式
# rb就是文件按照二进制的格式打开文件,硬盘怎么存就怎么取
# ii.解释一下以下三个参数的分别作用
# open(f_name,"r",encoding = "utf-8")
# ----mode 模式就是需要用什么方式去读取文件,就像mode = 'r'就是只读模式
# ----encoding 就是用什么编码模式去操作,在内存里保存的编码方式
# ----file 参数可以不写,默认就会在第一个参数里写文件名,不用绝对路径就是相对路径

 

转载于:https://www.cnblogs.com/pandaboy1123/p/9269730.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值