Python Unicode でサロゲート ペアを処理する方法
Python では、基本多言語面 (BMP) を超えて Unicode 文字を表すためにサロゲート ペアが使用されます。 )。これらのペアは、単一の Unicode 文字をエンコードするために使用される 2 つのサロゲート コード ポイントで構成されます。
サロゲート ペアを含む Python Unicode 文字列を操作する場合、サロゲート エンコーディングに関連するエラーが発生する可能性があります。これらのエラーは、Python がコンテキストに応じてサロゲート ペアの処理方法が異なるために発生します。
サロゲート ペアの処理
サロゲート ペアを通常の文字列に変換するには、いくつかのオプションがあります。
json を使用するモジュール:
encode() メソッドを使用してエンコードおよびデコードします。
例:
emoji = "This is \ud83d\ude4f, an emoji."
encoded = emoji.encode("utf-16")
decoded = encoded.decode("utf-16")
print(decoded) # Output: "This is ?, an emoji."
サロゲートパス エラー ハンドラーを使用します:
例:
encoded = emoji.encode("utf-16", "surrogatepass")
decoded = encoded.decode("utf-16")
print(decoded) # Output: "?"
選択するアプローチは、特定のコンテキストと必要な出力形式によって異なることに注意してください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3