2

ドイツ語用の perl トークナイザーを使用しています。一部のファイルではトークナイザーは正常に動作しますが、現在、次のエラーに直面しています。

perl tokenizer.perl -l de < ~/Desktop/me.txt > ~/Desktop/me.txt.tok 
Tokenizer v3
Language: de
utf8 "\xFF" does not map to Unicode at tokenizer.perl line 44, <STDIN> line 1.
Malformed UTF-8 character (byte 0xff) in pattern match (m//) at tokenizer.perl line 45, <STDIN> line 1.
Malformed UTF-8 character (byte 0xff) in pattern match (m//) at tokenizer.perl line 45, <STDIN> line 1.
Malformed UTF-8 character (fatal) at tokenizer.perl line 64, <STDIN> line 1.

何かご意見は?

前もって感謝します。

負。

4

1 に答える 1

2

エラー メッセージは誤解を招きますが、意図した情報は正しく有用です。バイト FF (16 進数) がデータで検出されましたが、UTF-8 データには表示されません。したがって、「utf8 "\xFF"」自体はナンセンスですが、「UTF-8 でエンコードされているとされるデータとしてバイト FF が検出された」と読みます。同様に、「不正な UTF-8 文字 (バイト 0xff)」を「意図された UTF8 データで検出された無効なデータ (バイト FF)」と読み替えてください。

データにバイト FF が含まれている理由を調べるには、それをさらに明らかにする必要があります。私の推測では、これは実際には UTF-16 エンコーディングのバイト オーダー マークの一部ですが、これは単なる推測です。

于 2013-05-29T20:12:57.420 に答える