0

PythonでJSONフィードを解析していますが、この文字が含まれているため、検証されません。

これらのシンボルを処理する方法はありますか?それらは変換できますか、それともそれらを削除するためのきちんとした方法ですか?

このシンボルが何と呼ばれているのか、何が原因なのかさえわかりません。そうでなければ、自分で調べてみます。

編集:Stackover Flowは文字を削除しているので、ここにあります:http: //files.getdropbox.com/u/194177/symbol.jpg

「クラシック80年代」のあの[?]記号です

4

2 に答える 2

1

これはおそらく、あなたが持っているテキストがある種のエンコーディングであることを意味し、どのエンコーディングかを把握し、 thetext.decode('encoding') 呼び出しでそれを Unicode に変換する必要があります。

わかりませんが、おそらく [?] 文字である可能性があります。つまり、そこにあるディスプレイもそれを表示する方法がわからないということです。それはおそらく、あなたが持っているデータが正しくないこと、そしてあなたが使用するはずのエンコーディングに存在しない文字がそこにあることを意味します. これを処理するには、thetext.decode('encoding', 'ignore') のようにデコードを呼び出します。「replace」、「xmlcharrefreplace」など、無視以外のオプションもあります。

于 2009-07-02T18:26:31.257 に答える
0

JSON は、UTF-8、UTF-16、または UTF-32 のいずれかでエンコードする必要があります。JSON ファイルに現在のエンコーディングで不正なバイトが含まれている場合、それはガベージです。

使用しているエンコーディングがわからない場合は、encoding-detector を含む私のjsonlibライブラリを使用して解析を試すことができます。を使用して解析された JSONjsonlibは Unicode 文字列としてプログラマーに提供されるため、エンコーディングについてまったく心配する必要はありません。

于 2009-09-08T23:06:49.597 に答える