鱼C论坛

 找回密码
 立即注册
查看: 2455|回复: 9

[已解决]readline()

[复制链接]
发表于 2022-9-13 20:26:22 | 显示全部楼层 |阅读模式

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

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

x
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte ( UnicodeDecodeError错误:“utf-8”编解码器无法解码位置0处的字节0x89:无效的起始字节) 微信图片_20220913202335.jpg
最佳答案
2022-9-13 20:55:13


seek 移动的偏移量是字节数,而中文不止一个字节

你有可能移动到的字节恰好在中文字符的中间几个字节,导致原本几个字节组合成一个字的被拆分开来

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-13 20:46:41 | 显示全部楼层
你这人很奇怪。

上一篇回复你,解释的清清楚楚了,也没看你说个,谢谢。
学习不仔细
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-13 20:52:48 | 显示全部楼层
ba21 发表于 2022-9-13 20:46
你这人很奇怪。

上一篇回复你,解释的清清楚楚了,也没看你说个,谢谢。

大佬,我q.readline(encoding = "gbk"),q.readline(encoding = 'utf-8'),q.readline(encoding = gbk) 我加过进去了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-13 20:55:13 | 显示全部楼层    本楼为最佳答案   


seek 移动的偏移量是字节数,而中文不止一个字节

你有可能移动到的字节恰好在中文字符的中间几个字节,导致原本几个字节组合成一个字的被拆分开来

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-13 20:55:56 | 显示全部楼层
ba21 发表于 2022-9-13 20:46
你这人很奇怪。

上一篇回复你,解释的清清楚楚了,也没看你说个,谢谢。



两个问题出现问题性质不一样,这是调用 seek 导致的

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-13 20:56:07 | 显示全部楼层
ba21 发表于 2022-9-13 20:46
你这人很奇怪。

上一篇回复你,解释的清清楚楚了,也没看你说个,谢谢。

行,我下次有礼貌一点点~我怕截图太多,你们解释太多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-13 20:59:13 | 显示全部楼层
Twilight6 发表于 2022-9-13 20:55
seek 移动的偏移量是字节数,而中文不止一个字节

你有可能移动到的字节恰好在中文字符的中间几个字 ...

谢谢大哥,有没办法解决的,我觉得迟早要读点什么东西出来 还是将45  改46  改47 直到读出来为止?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-13 21:04:07 | 显示全部楼层
gaoxiuhua520 发表于 2022-9-13 20:59
谢谢大哥,有没办法解决的,我觉得迟早要读点什么东西出来 还是将45  改46  改47 直到读出来为止?

谢谢了,我只能把45那个数字+1 这样写了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-13 21:05:54 | 显示全部楼层
gaoxiuhua520 发表于 2022-9-13 20:59
谢谢大哥,有没办法解决的,我觉得迟早要读点什么东西出来 还是将45  改46  改47 直到读出来为止?



seek 函数本身偏移量是字节数,而文件编码不同时,中文的字节数又有所不同,所以想用 seek 实现确切的读取有些麻烦,你可以去百度查一查

有种简单的特殊情况,就是你文件中只有中文字符,而且不含生僻字,那么当文件是 gbk 时候 你可以从 0 开始 偶数递增进行 seek 移动,当文件是 utf-8时,可以 3 个字符进行递增 seek 偏移
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-13 21:39:57 | 显示全部楼层
神奇
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 01:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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