python 锘� 乱码 该怎么解决

power0811 2010-07-28 10:25:36
读取文件 文件中有 "锘�" 乱码 该怎么过滤掉 用程序 多谢
...全文
625 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolbirdflyfirst 2010-07-30
  • 打赏
  • 举报
回复
你读取的源文件不是utf-8么?
也就是说在utf-8文件中,有些字符串已经是乱码了?
如果是,那没什么好办法啊。
power0811 2010-07-29
  • 打赏
  • 举报
回复
我现在的问题是去除bom了 在读取源文件内容后 要将其转换成gbk编码输出到另一个文件去, 如果文件中有乱码, 我怎么判断出来,如果是中文字, 我可以读三个字节每次, 问题是如果它本身是乱码 我怎么判断呢 还有如果文件中还包含比如gb2312 两个字节长度的编码,我到时候该怎么判断出来读多少个字节 呵呵 多谢指教
iambic 2010-07-28
  • 打赏
  • 举报
回复
基本做不到。如果没有出现解码异常,计算机怎么知道这是乱码?比如我把一个孤单的囧字呈现在你面前,你也很难分辨这是乱码还是常码吧。
关键是乱码从何而来?在文件中的位置有何特征。你要是能给个真实的样本最好了。
power0811 2010-07-28
  • 打赏
  • 举报
回复
文件本身就是utf8编码的 可是我在读取的时候想把文件中的"锘�"乱码去掉 然后做转换处理 该怎么操作呢
iambic 2010-07-28
  • 打赏
  • 举报
回复
有乱码多半是你解码有问题,先把编码搞正确吧。
foolbirdflyfirst 2010-07-28
  • 打赏
  • 举报
回复
utf-8是传输码,是unicode字符集以特定规律转换而成的。
你先不用python读(是不是读出来转了编码了?),以某个可以查看文件16进制的编辑器(ultraedit可以)查看一下文件最开始的三个字节。
既然你说是utf-8文件,前面又带3个古怪字节,估计就是bom了,去除即可,没鸟用,linux就不认,是windows推荐的标准而已
power0811 2010-07-28
  • 打赏
  • 举报
回复
有 \xef\x81\xac 这三个字节 该怎么办呢 有没有utf8编码对照表之类的呢
foolbirdflyfirst 2010-07-28
  • 打赏
  • 举报
回复
这个挺眼熟,貌似utf-8 bom头,如果是去除文件开头的ef bb bf三个字节即可。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧