鱼C论坛

 找回密码
 立即注册
查看: 6869|回复: 5

为什么在读取文件时会出现\\ufeff

[复制链接]
发表于 2018-4-18 22:23:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼老师:
        您好。
        我在看你讲的“029,一个任务”那一讲时,我在课下自己练习。出现了两个问题,现将问题给您描述一下。
        起初,我自己写了一个txt文件,然后书写完代码后运行,发现报错,
        “UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 35: illegal multibyte sequence”,然后我上网百度了一下,找到解决办法为,将文本文件存储为utf-8格式,并通过网上提供解决办法 f = open('d:\\abc\\11.txt','r', encoding='UTF-8')是这样来打开的,随之,问题得到了解决。后来运行后发现,在生成的boy_1.txt文件中,始终缺少第一句中的内容。后来我对IDLE进行调试发现,第一行中的首字符是这样样子的,\\ufeff小甲鱼:我今天来上班了。\\n。不明白的是为什么第一行会出现“\\ufeff”这个字符呢?
        急切求解。

each_line1

each_line1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-18 22:41:21 | 显示全部楼层
hi

你用的是Python2吗?如果是的话,建议升级到Python3版本(默认支持中文字符)

另外,建议把IDLE的具体调试信息附上,以便大家帮你定位
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-18 22:54:07 | 显示全部楼层
我记得这么一个坑爹的事情:
.txt文件打开时默认会转什么格式的,然后头部信息会多一个东西,这个时候需要用notepad++之类的把文本内容转回UTF-8.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-4-19 08:21:22 | 显示全部楼层
Charles未晞 发表于 2018-4-18 22:54
我记得这么一个坑爹的事情:
.txt文件打开时默认会转什么格式的,然后头部信息会多一个东西,这个时候需要 ...


楼上正解,我之前也遇到过类似的事情
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-19 15:56:18 | 显示全部楼层
谢谢大家的那么热情地帮助我,我在网上查了一下,网上的说法跟大家是一样的,我用Notepad++存储为不带BOM的UTF8,然后再去调用自己的程序就好了。就是这个原因导致的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-20 15:51:43 | 显示全部楼层
  1. str.encode().decode("utf-8-sig")
复制代码

用这种方法可以去掉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-29 13:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表