問題タブ [codepoint]

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 投票する
2 に答える
718 参照

.net - (私のものよりも)より自然な並べ替えを書く

私はここにこの質問への答えを追加しました:自然なソート順を必要とするC#でのソートList<String>、埋め込まれた数値を処理するもの。

しかし、私の実装は素朴であり、アプリケーションが物事を想定してUnicodeを正しく処理しない方法に関するすべての投稿の代わりに(トルコは誰かをテストしますか?)、より良い実装を書くための助けを求めたいと思いました。または、.NETの組み込みメソッドがある場合は、教えてください:)

その質問の答えの私の実装は、文字列を調べて、文字ごとに比較し、両方の数字に遭遇するまで続けます。次に、両方の文字列から連続する数字を抽出します。これにより、長さが変化する可能性があり、最短のものに先行ゼロを埋めてから、比較します。

ただし、問題があります。

たとえば、文字列xに2つのコードポイントがあり、それらが一緒になって文字Èを作成しているのに、もう1つの文字列には、その文字であるコードポイントが1つしかない場合はどうでしょうか。

私のアルゴリズムは、発音区別符号を1文字として扱い、他の文字列のÈと比較するため、これらのアルゴリズムでは失敗します。

誰かがこれを適切に処理する方法を教えてもらえますか?CultureInfoドイツの「ss」と「ß」の比較など、言語の問題を処理するオブジェクトを指定するためのサポートが必要です。

個々のコードポイントではなく、「実際の文字」(ここでは実際の用語はわかりません)を列挙するようにコードを取得する必要があると思います。

これに対する正しいアプローチは何ですか?

また、「自然」が「人間が期待する方法」を意味する場合、私は次のことを熟考するために追加します。

  • 日時はどうですか?
  • 浮動小数点値はどうですか?
  • 「自然」と見なされる他のシーケンスはありますか?
    • これをどこまで伸ばす必要がありますか?(Eeny、meeny、miny、moe)
0 投票する
2 に答える
3088 参照

javascript - JavascriptでUnicode文字名を検索する

ユーザーがUnicode文字の番号を入力するときに、Unicode文字の名前を見つける必要があります。例として、0041と入力し、結果として「ラテン大文字A」を取得します。

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

unicode - 実際に使用されている最も一般的な非 BMP Unicode 文字は何ですか?

あなたの経験では、BMP (Basic Multilingual Plane) の外側の Unicode 文字、コードポイント、範囲はこれまでで最も一般的ですか? これらは、UTF-8 で 4 バイト、または UTF-16 でサロゲートを必要とするものです。

その答えは、名前に使われている中国語と日本語の文字であると予想していましたが、最も広く普及している CJK マルチバイト文字セットには含まれていませんでしたが、私が最も取り組んでいるプロジェクトである英語ウィクショナリーでは、ゴシック アルファベットがこれまでのところはるかに一般的です。

アップデート

ウィキペディア全体をスキャンして非 BMP 文字を検出するソフトウェア ツールをいくつか作成しましたが、驚いたことに、日本語のウィキペディアでもゴシック体が最も一般的であることがわかりました。これは中国語のウィキペディアにも当てはまりますが、「」、「」、「」など、多くの漢字が 50 回または 70 回使用されていました。

0 投票する
2 に答える
3206 参照

sql-server - C# 文字列 (UTF-16) を SQL Server nvarchar (UCS-2) 列に格納すると、どのような結果になりますか?

SQL Server は、フィールドに 2 バイトの固定長文字エンコーディングであるUnicode UCS-2を使用しているようです。nchar/nvarchar一方、C# は文字列に Unicode UTF-16エンコーディングを使用します (注: UCS-2 を Unicode と見なさない人もいますが、Unicode サブセット 0-0xFFFF で UTF-16 と同じコード ポイントをすべてエンコードし、 SQL Server に関する限り、それは文字列に関してネイティブでサポートされている "Unicode" に最も近いものです。)

UCS-2 は Basic Multilingual Plane (BMP) で UTF-16 と同じ基本コード ポイントをエンコードしますが、サロゲート ペアを許可するために UTF-16 が行う特定のビット パターンを予約しません。

C# 文字列を SQL Server nvarchar(UCS-2) フィールドに書き込んで読み返すと、常に同じ結果が返されますか?

UTF-16 はより多くのコード ポイント (たとえば 0xFFFF より上) をエンコードするという意味で、UTF-16 は UCS-2 のスーパーセットであると思われますが、実際には 2 バイト レベルでの UCS-2 のサブセットです。より制限的です。

私自身の質問に答えるために、C# 文字列に 0xFFFF (文字のペアで表される) を超えるコード ポイントが含まれている場合、これらはデータベースに保存され、取得されると思われますが、データベースでそれらを操作しようとすると (たとえば、おそらく TOUPPER を呼び出すか、1 文字おきに空白にしようとしている可能性があります)、後で文字列を表示する際に問題が発生する可能性があります... SQL Server にサロゲート ペアを認識し、nchar/nvarchar文字列を UTF-16 として効果的に処理する関数がない限り。

0 投票する
2 に答える
3654 参照

java - Java文字列Unicodeコードポイントを文字に変換.

わかりました、この質問は何度も聞かれているように感じますが、答えを見つけることができません。2 つの異なるプログラムによって生成された 2 つの異なるファイルを比較しています。もちろん、両方のプログラムが同じ db クエリからファイルを生成しています。私は次の違いに直面しています:

s1 =Samsung - Mobile USB Chargers

対。

s2 =Samsung \u2013 Mobile USB Chargers

どうすれば s2 を s1 に変換できますか? 広範囲のインターネット上のどこかで誰かが ApacheCommons-lang のStringUtilsクラスを使用すると言及しましたが、私は有用なものを見つけることができませんでした。

0 投票する
4 に答える
8015 参照

java - Java Unicode N バイト Unicode 文字の例を見つける場所

サンプルの 1 バイト、2 バイト、3 バイト、4 バイト、5 バイト、および 6 バイトの Unicode 文字を探しています。そこにあるすべての異なるユニコード文字の何らかの参照へのリンクと、それらが(バイト単位で)どのくらい大きいかは大歓迎です。このリファレンスにも のようなコード ポイントがあることを願っています\uXXXXX

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

java - How to convert a string representation of unicode hex "0x20000" to the int code point 0x20000 in Java

「0x20000」() や「0x00F8」(ø) などの Unicode 16 進値の文字列表現のリストがあり、次のような関数を使用できるように int コード ポイントを取得する必要があります: char[] chars = Character .toChars(0x20000);

これは、BMP と補助文字をカバーする必要があります。どうしようもないので、何かお役に立てれば幸いです。

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

qt - QCharからUnicodeコードポイント>U+FFFFを取得します

私はあらゆる種類の文字を処理し、ある時点でそれらに関する情報を表示することになっているアプリケーションを持っています。QChar、QStringなどでQtとその固有のUnicodeサポートを使用しています。

ここで、http://unicode.org/Public/UNIDATA/UnicodeData.txtでデータを検索するために、 QCharのコードポイントが必要ですが、QCharのunicode()メソッドはushort(unsigned short)のみを返します。 0から65535(または0xFFFF)までの数値です。コードポイントが0xFFFFを超える文字がありますが、これらを取得するにはどうすればよいですか?私が見逃しているトリックはありますか、それとも現在Qt / QCharでサポートされていませんか?

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

python - Pythonで16進文字からUnicode文字に変換する

16進文字列は、次の'\xd3'ように表すこともできますÓ

16進文字列の文字表現をコンソールに取得するために私が見つけた最も簡単な方法は次のとおりです。

または、英語では、16進文字列を数値に変換し、その数値をユニコードコードポイントに変換して、最後にそれを画面に出力します。これは余分なステップのようです。もっと簡単な方法はありますか?

0 投票する
2 に答える
5803 参照

unicode - 長すぎるフォーム/エンコーディングとは正確には何ですか?

UTF-8 に関するウィキペディアの記事を読んでいて、 overlongという用語について疑問に思っていました。この用語は何度も使用されていますが、この記事ではその意味の定義や参照を提供していません。

誰かが用語とその目的を説明できるかどうか知りたい.