問題タブ [utf-32]

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 に答える
939 参照

c++ - UTF-32 文字を端末に出力する

このページに従って、コールバック (glfwSetCharCallback を使用して設定) を使用して GLFW からユーザー入力を読み取っています: http://www.glfw.org/docs/latest/input.html#input_char

コールバック関数は、押されたキーを 32 ビットの unsigned int として受け取ります。これを画面に印刷できるものに変換するにはどうすればよいですか? C++11 の codecvt と ICU ライブラリの両方を試しましたが、端末に読み取り可能な文字を出力するものは何もありませんでした。

これは私のコールバック関数のコードです:

入力 (キー) に何もしないと、何も表示されません。ただの空白行。

0 投票する
3 に答える
418 参照

c# - C#: 文字の Unicode 値が > 65535 の場合、文字列の最初の文字を読み取る

文字列の最初の文字を取得する必要がある C# メソッドがあり、特定の Unicode 文字 (すべて右から左の文字) を含む HashSet に存在するかどうかを確認します。

だから私はやっている

次に、ハッシュセットを確認します。

問題は、最初の char のコード ポイントが 65535 より大きい文字列に対して、このコードが機能しないことです。

実際に、0 から 70,000 までのすべての数値を通過するループを作成し (最高の RTL コード ポイントは約 68,000 であるため、切り上げました)、数値からバイト配列を作成し、

この文字で文字列を作成します。次に、HashSet を検索するメソッドにそれを渡しますが、そのメソッドは失敗します。

その値は決してあるべきものではありません。

私は何を間違っていますか?