解决‘gbk‘codec can‘t encode character ‘U0001f914‘ in position 3661: illegal multibyte sequence问题

解决‘gbk‘codec can‘t encode character ‘U0001f914‘ in position 3661: illegal multibyte sequence问题,第1张

解决‘gbk‘codec can‘t encode character ‘U0001f914‘ in position 3661: illegal multibyte sequence问题
  • 博客主页: https://blog.csdn.net/qq_50285142
  • 欢迎点赞收藏✨关注❤留言  如有错误,敬请指正
  • 点击领取大量学习资源
问题

在我准备写程序想要获取 QQ群所有的群成员的信息列表(成员群名称可能有特殊字符) 时,我要把信息存进一个文件里面,写入文件的时候,出现了这个错误

出错代码:

网上查找相关的东西,知道应该是编码方式出了问题,就是这个编码用gbk编码无法将其编制,因为gbk里面找不到相关的编码

解决方法

1.替换(这一种我没有用,没试过,感觉并没有解决根本问题)

f.write(data.replace(u'U0001f914', u''))

将其替换为空
2.直接改变编码方式(我用的这种)
Windows写入文件时,打开文件默认使用gbk编码,上述出现的问题是不能用gbk编码,我们从打开文件就让它以utf-8形式打开就行了

with open("info",'w',encoding='utf-8') as f:
     f.write(str(data))
往期优质文章推荐
  • C++ STL详解,超全总结(快速入门STL)
  • 李【期末复习】c++知识点大回顾,八篇文章让你永不破防(一)
  • 区间贡献问题习题详解

领取大量学习资源

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5699203.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存