我需要开始处理外国字符,在这样做的时候,我认为我皇帝搞砸了文件的编码。
我得到的错误是:
Lexical error at line 1, column 8. Encountered: "" (0), after : ""
该文件的第一行是:
import xml.etree.cElementTree as ET
另外值得注意的是:当我将上面的行粘贴到文本区域以询问此问题并提交时,每个角色之间都会出现一个未知字符(e 我一直无法通过添加显式编码定义来解决此问题:
# -*- coding: utf-8 -*-
我也无法将文件(使用Hg)还原到以前的版本,也无法将代码复制/粘贴到新文件中,或者使用复制/粘贴的代码替换损坏的文件。
请帮忙!
答案 0 :(得分:3)
如果它确实是零字符,你可能会发现你注入了一些UTF-16 / UCS-2文本。特定的Unicode编码在每个ASCII字符之间都有一个零字节。
找出答案的最佳方法是使用od -xcb myfile.py
之类的文件对文件进行十六进制转储。
如果 这个案例,那么你需要用能够看到这些字符的东西编辑文件,并修复它们。
vi
将是我的第一选择(因为那是我习惯的)但我不想与Emacs光明会开始任何神圣的战争。在vi
中,他们很可能会显示为^@
个字符。