我需要开始处理外来字符,并且这样做,我认为我很容易弄乱文件的编码.
我得到的错误是:
Lexical error at line 1, column 8. Encountered: "" (0), after : ""
文件的第一行是:
import xml.etree.cElementTree as ET
还要注意:当我将上面的行粘贴到textarea中问这个问题并提交时,每个字符之间都会出现一个未知字符(例如
我无法通过添加显式编码定义来解决此问题:
# -*- coding: utf-8 -*-
我也无法将文件(使用Hg)还原到以前的版本,也无法将代码复制/粘贴到新文件中,也无法用复制/粘贴的代码替换损坏的文件.
请帮忙!
解决方法:
如果其中确实是零字符,则可能会发现您注入了一些UTF-16 / UCS-2文本.特定的Unicode编码在每个ASCII字符之间都有一个零字节.
找出答案的最佳方法是使用od -xcb myfile.py之类的文件对文件进行十六进制转储.
如果是这种情况,那么您需要使用能够看到这些字符的内容来编辑文件,然后对其进行修复.
vi将是我的首选(因为这是我的习惯),但是我不想使用Emacs illuminati发起任何神圣的战争.在vi中,它们很可能以^ @字符显示.