3

私は外国語の文字を扱い始める必要がありました。そうすることで、ファイルのエンコーディングをひどく台無しにしたと思います。

私が得ているエラーは次のとおりです。

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

ファイルの最初の行は次のとおりです。

import xml.etree.cElementTree as ET

また、この質問をするために上記の行をテキストエリアに貼り付けて送信すると、すべての文字の間に不明な文字が表示されました (e 明示的なコーディング定義を追加しても、この問題を修正できませんでした:

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

また、(Hg を使用して) ファイルを以前のバージョンに戻すことも、コードを新しいファイルにコピー/貼り付けすることも、壊れたファイルをコピー/貼り付けたコードに置き換えることもできませんでした。

助けてください!

4

1 に答える 1

3

そこに実際にゼロ文字がある場合は、UTF-16/UCS-2 テキストが挿入されていることに気付くかもしれません。その特定の Unicode エンコーディングでは、すべての ASCII 文字の間にゼロ バイトが含まれます。

見つけるための最良の方法は、ファイルの 16 進ダンプを次のようなもので実行することですod -xcb myfile.py

その場合、それらの文字を認識できるものでファイルを編集し、修正する必要があります。

viが私の最初の選択になるでしょう (それは私が慣れ親しんだものだからです) が、私は Emacs illuminati と聖戦を始めたくありません。ではvi、ほとんどの場合、^@文字として表示されます。

于 2011-06-28T03:12:57.823 に答える