問題タブ [surrogate-pairs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python Unicode - Windows コンソールで出力できる文字は?
Python から Windows コンソールに出力できる Unicode 文字はどれですか?
次のコード
エラーを含む印象的な結果が得られません。
UnicodeEncodeError: 'utf-8' codec can't encode character '\ud800' in position 0: surrogates not allowed
それでも、str
請求値のドキュメント0x110000
は許可されます。
より多くの文字を表示する方法はありますか?
php - PHPで文字列に補助文字が含まれているかどうかを検出する方法は?
私がこれまでに理解していることから、補助文字(または「サロゲート ペア」) は、最初の文字が から まで、 2 番目の文字が から0xd800
までの範囲で定義されています。0xdbff
0xdc00
0xdfff
したがって、任意の文字列にそのような文字が含まれているかどうかを検出しようとしています:
しかし、それはそれらを検出していないようです。例えば:
戻りますfalse
。
それをテストするために、これらのシンボルがどのようなコードになるかを確認するための小さな Web ページを作成しました。
しかし、私が得ているエンコーディングは、私が期待したものではありません:
なぜ私にそれを与えてf0, 9f, 98, 8d
いるのですか?それらは上記の定義に該当しません。それで、私はここで何が間違っていますか?
python - Python 3でtxtファイルから読み取ったサロゲートペアを絵文字に戻す方法は?
次のような文字列がある場所を読み取るいくつかのtxtファイルがあります。
「はい!イワシの缶詰め! \uD83E\uDD23」
問題はそれです:私がやっているとき
python は \UDD23 または \UD83E を個別に 2 つの単一文字と見なすため、Unicode ポイントは絵文字に変換されます。
出力:
また、上記の文字列の長さを len() 関数を使って見ると、出力は 37 です。
ただし、テキスト ファイルから同じ文字列を読み取る場合、Python は \UDD23 または \UD83E を個別の文字として読み取ります。つまり、合計 12 文字です。結果。つまり、Unicode ポイントは絵文字に変換されません。以下のコードを使用しました。
出力は次のとおりです。