[解決済み] UnicodeDecodeError: 'utf8'コーデックはバイト0x9cをデコードできません。
2022-03-15 02:36:47
質問
クライアントからUTF-8の有効な文字を受け取ることになっているソケットサーバーがあります。
問題は、一部のクライアント(主にハッカー)が間違った種類のデータをすべて送信していることです。
本物のクライアントは簡単に見分けがつきますが、送信されたデータはすべてファイルに記録して、後で分析できるようにしています。
時々、次のような文字が表示されます。
œ
を使用すると
UnicodeDecodeError
というエラーが発生します。
これらの文字があってもなくても、文字列をUTF-8にできるようにしてほしい。
更新しました。
私の場合、ソケットサービスはMTAであったため、次のようなASCIIコマンドを受信することだけを期待していました。
EHLO example.com
MAIL FROM: <[email protected]>
...
これを全部JSONで記録していたんです。
すると、善意のない一部の人たちが、あらゆる種類のジャンクを送ることにしたんです。
だから、私の場合は、ASCII以外の文字を削除してもまったく問題ないのです。
解決方法は?
http://docs.python.org/howto/unicode.html#the-unicode-type
str = unicode(str, errors='replace')
または
str = unicode(str, errors='ignore')
注 これは、問題の文字を除去(無視)して、文字なしの文字列を返します。
私の場合、アプリケーションで許可されていない非ASCII入力に対する保護として使っているので、これは理想的なケースです。
あるいは
のopenメソッドを使用します。
codecs
モジュールで読み込むことができます。
import codecs
with codecs.open(file_name, 'r', encoding='utf-8',
errors='ignore') as fdata:
関連
-
python implement mysql add delete check change サンプルコード
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】UnicodeDecodeError, invalid continuation byte
-
[解決済み] UnicodeDecodeError: 'ascii' コーデックはポジション 1 のバイト 0xef をデコードできません。
-
[解決済み] UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
-
[解決済み】"for line in... "でUnicodeDecodeErrorが発生:'utf-8'コーデックはバイトをデコードできない。
-
[解決済み] UnicodeDecodeError: 'utf8' コーデックは位置 0 のバイト 0xa5 をデコードできない: 不正なスタートバイトだ
-
[解決済み] エラー UnicodeDecodeError: 'utf-8' コーデックが位置 0 のバイト 0xff をデコードできない: 開始バイトが無効です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
python call matlab メソッドの詳細
-
python string splicing.join()とsplitting.split()の説明
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み] UnicodeDecodeError: 'charmap' コーデックは、位置YのバイトXをデコードできません:文字は<undefined>にマップされます。
-
[解決済み] UnicodeDecodeError: 'utf8' コーデックは位置 0 のバイト 0xa5 をデコードできない: 不正なスタートバイトだ