問題タブ [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.

0 投票する
1 に答える
171 参照

python - Python Unicode - Windows コンソールで出力できる文字は?

Python から Windows コンソールに出力できる Unicode 文字はどれですか?

次のコード

エラーを含む印象的な結果が得られません。

UnicodeEncodeError: 'utf-8' codec can't encode character '\ud800' in position 0: surrogates not allowed

それでも、str請求値のドキュメント0x110000は許可されます。

より多くの文字を表示する方法はありますか?

0 投票する
0 に答える
85 参照

php - PHPで文字列に補助文字が含まれているかどうかを検出する方法は?

私がこれまでに理解していることから、補助文字(または「サロゲート ペア」) は、最初の文字が から まで、 2 番目の文字が から0xd800までの範囲で定義されています。0xdbff0xdc000xdfff

したがって、任意の文字列にそのような文字が含まれているかどうかを検出しようとしています:

しかし、それはそれらを検出していないようです。例えば:

戻りますfalse

それをテストするために、これらのシンボルがどのようなコードになるかを確認するための小さな Web ページを作成しました。

しかし、私が得ているエンコーディングは、私が期待したものではありません:

ここに画像の説明を入力

なぜ私にそれを与えてf0, 9f, 98, 8dいるのですか?それらは上記の定義に該当しません。それで、私はここで何が間違っていますか?

0 投票する
0 に答える
81 参照

python - Python 3でtxtファイルから読み取ったサロゲートペアを絵文字に戻す方法は?

次のような文字列がある場所を読み取るいくつかのtxtファイルがあります。

「はい!イワシの缶詰め! \uD83E\uDD23」

問題はそれです:私がやっているとき

python は \UDD23 または \UD83E を個別に 2 つの単一文字と見なすため、Unicode ポイントは絵文字に変換されます。

出力:

また、上記の文字列の長さを len() 関数を使って見ると、出力は 37 です。

ただし、テキスト ファイルから同じ文字列を読み取る場合、Python は \UDD23 または \UD83E を個別の文字として読み取ります。つまり、合計 12 文字です。結果。つまり、Unicode ポイントは絵文字に変換されません。以下のコードを使用しました。

出力は次のとおりです。