我需要开始处理外来字符,在这样做的过程中,我想我真的搞砸了文件的编码。
我得到的错误是:
Lexical error at line 1, column 8. Encountered: "" (0), after : ""
文件的第一行是:
import xml.etree.cElementTree as ET
另请注意:当我将上面的行粘贴到文本区域中提出这个问题并提交时,每个字符之间都出现了一个未知字符(e 我无法通过添加显式编码定义来解决此问题:
# -*- coding: utf-8 -*-
我也无法将文件恢复(使用 Hg)到以前的版本,也无法将代码复制/粘贴到新文件中,或者用复制/粘贴的代码替换损坏的文件。
请帮忙!
最佳答案
如果其中确实是一个零字符,您可能会发现您已经注入(inject)了一些 UTF-16/UCS-2 文本。该特定的 Unicode 编码将在每个 ASCII 字符之间有一个零字节。
找出答案的最佳方法是使用 od -xcb myfile.py
之类的内容对您的文件进行十六进制转储。
如果是这种情况,那么您需要使用能够看到这些字符的工具来编辑文件,并修复它们。
vi
将是我的第一选择(因为这是我习惯的),但我不想与 Emacs 光照派开始任何圣战。在 vi
中,它们很可能会显示为 ^@
字符。
关于python - 词法错误 : Encountered: "" (0), 之后: "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6501115/