微末非末 发表于 2018-2-14 20:33:40

pyhton 读取文件的编码问题

本帖最后由 微末非末 于 2018-2-15 09:09 编辑

求大佬们耐心看完{:5_92:}

情况是这样的:今天做入门python第35讲的最后一题(统计代码量)的练习时,出现了 ‘gbk’编码问题。

然后我逐个排除问题,最后找发现是用 Idle 写的代码保存的编码格式问题。

我的测试是这样的:使用 note ++ 随便写点东西,再用代码去把那个文件的内容读出来,结果乱码 。

                          然后我又用记事本写了一样的东西,用同样的方法把内容读出来,结果正常显示没有乱码

                          我又用 note++修改我写的东西编码的格式为 ’utf-8 ‘,再去读,还是一样的的乱码。

                            最后我想起 open( ) 这个函数有个 encoding 这个属性(他的默认值是None),我设置成 encoding = ’utf-8 ‘这样打开再读的话就正常了。

所以我就有个两个问题想不通了:

                            1、记事本 保存的文本 默认的编码格式是 utf-8还是Unicode?如果是的为什么我用 note++修改文本的编码格式为 utf-8和Unicode,都是一样的乱码呢?

                          2、python默认的None到底是以什么编码打开文件的

       

微末非末 发表于 2018-2-15 09:10:20

来人啊{:9_233:}

新手·ing 发表于 2018-2-15 09:16:06

我只知道有encoding那个参数,我也算个人,,

微末非末 发表于 2018-2-15 10:55:59

新手·ing 发表于 2018-2-15 09:16
我只知道有encoding那个参数,我也算个人,,

求大佬指点迷津{:5_92:}

morningmao 发表于 2018-2-15 14:16:49

我也是刚来的,跟着大家学习ing

°蓝鲤歌蓝 发表于 2018-2-15 14:44:17

1.记事本的默认编码是ANSI本地编码,是gbk编码,而encoding参数默认就是gbk编码,所以打开记事本不会乱码。
2.我猜测你的note++默认就是utf-8编码,所以你的修改并没有起到什么作用,你打开文件的默认编码又是gbk,所以他就乱码了。
你要么把note++改成gbk,encoding参数不改,要么不改note++,改encoding参数为utf-8,这样子做应该就不会乱码。

圣剑三刀。abx 发表于 2018-2-15 14:52:21

跟着大家学习啊,我是新手

微末非末 发表于 2018-2-15 15:09:58

°蓝鲤歌蓝 发表于 2018-2-15 14:44
1.记事本的默认编码是ANSI本地编码,是gbk编码,而encoding参数默认就是gbk编码,所以打开记事本不会乱码。 ...

好的,明白了。谢谢{:5_95:}

°蓝鲤歌蓝 发表于 2018-2-15 15:24:37

微末非末 发表于 2018-2-15 15:09
好的,明白了。谢谢

不客气

shzbg1341810374 发表于 2018-2-16 00:31:49

受教了。谢谢

彼岸花起舞如火 发表于 2018-2-17 09:31:27

学习

綉氣 发表于 2018-2-20 14:01:43


受教了

lapo_Mu 发表于 2018-2-20 16:13:34

I love fishc.com

whdd 发表于 2018-9-30 19:37:16

{:9_226:}

whdd 发表于 2018-9-30 19:38:10

{:9_219:}

GOD乌索普 发表于 2018-10-1 07:55:50

学习

钱闻韬 发表于 2018-10-1 11:56:27

学习一下

钱闻韬 发表于 2018-10-1 11:57:00

学习

5203230070 发表于 2018-10-2 09:26:28

哈哈哈

2418 发表于 2018-10-2 15:46:37

鱼币真多
页: [1] 2
查看完整版本: pyhton 读取文件的编码问题