問題タブ [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.
unicode - サロゲートペアがあるのに、なぜUTF-16ではなくUTF-32なのですか?
私が正しく理解していれば、UTF-32は宇宙のすべてのキャラクターを処理できます。代理ペアを使用することで、UTF-16も可能です。では、UTF-16の代わりにUTF-32を使用する正当な理由はありますか?
java - Java 文字列での Unicode サロゲート値の処理
次のコードを検討してください。
次の誤った出力を取得します。
ただし、0xd9
入力データの を に変更する0x9d
と、次の正しい出力が得られます。
0xd9
この機能は、バイトが上位サロゲート Unicode マーカーであるという事実によるものだと認識しています。
質問: Java Unicode 文字列内のサロゲート バイト ( 0xd800
to ) をフィード、識別、および抽出する方法はありますか?
ありがとう0xdfff
java - Java は、ファイル名にサロゲート Unicode 値を含むファイルを開くことができませんか?
ファイルに対してさまざまな IO 操作を行うコードを扱っていますが、国際的なファイル名を扱えるようにしたいと考えています。Java 1.5 を搭載した Mac で作業していますが、ファイル名にサロゲートを必要とする Unicode 文字が含まれていると、JVM がファイルを見つけられないようです。たとえば、私のテストファイルは次のとおりです。
"草鷗外.gif"
Java文字に分割されます\u8349\uD85B\uDFF6\u9DD7\u5916.gif
このファイル名からファイルを作成すると、FileNotFound 例外が発生するため、ファイルを開くことができません。ファイルを含むフォルダーでこれを使用しても失敗します。
私が実際に扱っているコードのほとんどは、次の形式です。
ファイル名をエスケープするか、別の方法でファイルを開くなど、この問題に対処する方法はありますか?
php - Unicode サロゲート ペア
サロゲート ペアがあるとします。例えば:
文字を画面に出力する機能はありますか?
php - UTF-16で出力?少し立ち往生
サロゲート ペア形式の UTF-16 でエンコードされた文字がいくつかあります。これらのサロゲート ペアを文字として画面に出力したいと考えています。
これがどのように可能か知っている人はいますか?
javascript - BMP 外の JavaScript 文字列
BMP はBasic Multilingual Plane です
JavaScriptによると: 良い部分:
JavaScript は、Unicode が 16 ビットの文字セットであったときに構築されたため、JavaScript のすべての文字は 16 ビット幅です。
このことから、JavaScript は (UTF-16 ではなく) UCS-2 を使用し、U+FFFF までの文字しか処理できないと思われます。
さらに調査すると、次のことが確認されます。
このfromCharCode
メソッドは、Unicode 文字を返すときに下位 16 ビットのみを使用しているようです。U+20001 (CJK 統一表意文字 20001) を取得しようとすると、代わりに U+0001 が返されます。
質問: JavaScript でポスト BMP 文字を処理することはまったく可能ですか?
2011-07-31: Unicode Support Shootout のスライド 12: The Good, The Bad, & the (mostly) Uglyは、これに関連する問題を非常によくカバーしています:
unicode - すべての「文字」が1つのコードポイントにすぎないUnicodeのエンコーディングはありますか?
言い換えようとしている: すべての結合文字の組み合わせを 1 つのコード ポイントにマップできますか?
私は Unicode を初めて使用しますが、Unicode ではあらゆる場合に 1 つの文字が 1 つのコード ポイントになるエンコーディング、正規化、または表現がないように思えます。これは正しいです?
これは Basic Multilingual Plane にも当てはまりますか?
unicode - 実際に使用されている最も一般的な非 BMP Unicode 文字は何ですか?
あなたの経験では、BMP (Basic Multilingual Plane) の外側の Unicode 文字、コードポイント、範囲はこれまでで最も一般的ですか? これらは、UTF-8 で 4 バイト、または UTF-16 でサロゲートを必要とするものです。
その答えは、名前に使われている中国語と日本語の文字であると予想していましたが、最も広く普及している CJK マルチバイト文字セットには含まれていませんでしたが、私が最も取り組んでいるプロジェクトである英語ウィクショナリーでは、ゴシック アルファベットがこれまでのところはるかに一般的です。
アップデート
ウィキペディア全体をスキャンして非 BMP 文字を検出するソフトウェア ツールをいくつか作成しましたが、驚いたことに、日本語のウィキペディアでもゴシック体が最も一般的であることがわかりました。これは中国語のウィキペディアにも当てはまりますが、「」、「」、「」など、多くの漢字が 50 回または 70 回使用されていました。
java - Javaの「サロゲートペア」とは何ですか?
StringBuffer
特にreverse()メソッドのドキュメントを読んでいました。そのドキュメントでは、サロゲート ペアについて言及しています。このコンテキストでのサロゲート ペアとは何ですか? 低サロゲートと高サロゲート とは何ですか?
.net - UTF-16文字をPostgresデータベースに保存するにはどうすればよいですか?
一部のテキスト(例č
)をPostgresデータベースに保存しようとしていますが、この値を取得すると、画面にとして表示されます?
。なぜそうなるのかわかりません。UTF-8ではサポートされていないがUTF-8でサポートされているキャラクターであるという印象を受けましたが、最初の回答から判断すると、これは誤った仮定です。 。
元の質問(まだ有効な場合があります):
私はUTF-8サロゲートペアについて読みました。これは私が必要とするものを達成する可能性があり、
stringinfo
オブジェクトTextElementEnumerators
に関連するいくつかの例を見ましたが、概念の実用的な証明を見つけることができませんでした。誰かがUTF-16を(おそらくこのサロゲートペアの概念を使用して)postgresデータベースに読み書きする方法の例を提供できますか?ありがとうございました。
更新された質問:č
文字が疑問符としてデータベースから返されるのはなぜですか?
NPGSQLを使用して、データベースとVB.Netにアクセスします。