3

我需要开始处理外来字符,这样做,我想我彻底搞砸了文件的编码。

我得到的错误是:

Lexical error at line 1, column 8.  Encountered: "" (0), after :  ""

文件的第一行是:

import xml.etree.cElementTree as ET

另请注意:当我将上面的行粘贴到 textarea 中以询问此问题并提交时,每个字符之间出现了一个未知字符(e 我无法通过添加显式编码定义来解决此问题:

# -*- coding: utf-8 -*-

我也无法将文件(使用 Hg)恢复到以前的版本,也无法将代码复制/粘贴到新文件中,或者用复制/粘贴的代码替换损坏的文件。

请帮忙!

4

1 回答 1

3

如果它确实是一个零字符,你可能会发现你已经注入了一些 UTF-16/UCS-2 文本。该特定的 Unicode 编码在每个 ASCII 字符之间都有一个零字节。

找出答案的最好方法是使用类似od -xcb myfile.py.

如果这种情况,那么您需要使用能够看到这些字符的东西来编辑文件,并修复它们。

vi将是我的第一选择(因为这是我习惯的),但我不想与 Emacs 光明会开始任何圣战。在vi中,它们很可能会以^@字符的形式出现。

于 2011-06-28T03:12:57.823 回答