「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Pythonで出力を配るときにエンコードを保存するにはどうすればよいですか?

Pythonで出力を配るときにエンコードを保存するにはどうすればよいですか?

2025-03-22に投稿されました
ブラウズ:917

How Can I Preserve Encoding When Piping Output in Python?

エンコードの保存Python

パイプを介してPythonプログラムの標準出力をリダイレクトするときに、インタープレーターがエンコードのエンコードに依存するエンコードを誤って想定する場合があります。この問題を解決するには、エンコードを明示的に指定することが不可欠です。

スクリプトの実行とは異なり、Pythonが端末のエンコーディングに自動的に調整すると、配管には手動エンコードが必要です。一般的な慣行は、「UTF-8」を使用して出力をエンコードすることです:

# -*- coding: utf-8 -*-
print(u"åäö".encode('utf-8'))

これにより、ターゲットプログラムのエンコードに関係なく、パイプされた出力がユニコード表現と一致することを保証します。予想されるエンコーディング

は、unicode

    を使用して内部的にデータを使用して作業します。 UTF-8、プロセスで大文字の変換を適用します:
  • Import Sys sys.stdinのラインの場合: line = line.decode( 'iso8859-1') line = line.upper() line = line.encode( 'utf-8') sys.stdout.write(line)
  • この場合、入力はISO-8859-1からデコードされ、Unicodeとして処理され、出力の前にUTF-8にエンコードされます。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3