奇妙なエスケープされたユニコード文字列に問題があります。私のスクリプトは、リクエスト ライブラリを介して Web サービスを使用し、response.text には次の Unicode 文字列が含まれています。
u'\\u003c? abc ?\\u003eDas Modell des Adaptiven Zyklus wurde aus vergleichenden Untersuchungen zur Dynamik von \xd6kosystemen abgeleitet.\\u003c? /abc ?\\u003e'
**Updated** Martijn solution works with the upper one, but breaks with this one because of len="12"
u'\\u003c?abc len="12"?\\u003eResilienz sollte als st\xe4ndiger Anpassungsprozess zwischen Systemen und der Umwelt begriffen werden.\\u003c? /abc ?\\u003e'
サーバーからの応答は次のようになります。
\u003c? abc ?\u003eDas Modell des Adaptiven Zyklus wurde aus vergleichenden Untersuchungen zur Dynamik von Ökosystemen abgeleitet.\u003c?dpf /sent ?\u003e
問題は、\u003c のような二重エスケープされた Unicode シーケンスです。\u003c は通常 < char を表します。\xd6 は正しく、ドイツ語の Ö を表します。この二重エスケープは、私のユニコード文字列を完全に台無しにします:-)
この投稿で同様の問題を発見しました: Stack Overflow - Conversion of strings like \uXXXX in python
string.decode('unicode-escape') を使用した解決策は、すべての Unicode シーケンスがエスケープされ、単一エスケープと二重エスケープが混在している場合にのみ機能するようです。ダブルエスケープをシングルエスケープに置き換えるだけで、Unicode 文字列が破損します。
最も簡単で最善の解決策は、サーバー側で応答エンコーディングを調整することですが、アクセスできません...
ご協力いただきありがとうございます!!!