問題タブ [unicode-normalization]
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 - 文字セットの比較
緊急の助けが必要です。文字セット文字列を比較できません。データベース table1 に書き込まれた文字列utf-8 charset
はまだ奇妙に見えます: SADI しかし、同じデータベースの table2 に書き込まれた文字列SADI
は正常です。両方を比較すると、常に false になります。
どのように比較を行うことができるか考えていますか?(実際には、比較によって真の結果が得られるはずです)
SADI
データベースにSADIを挿入する方法を教えてください。
いずれかがうまくいけば解決策になります。
python - このランダムな Unicode 文字列を正規化できないのはなぜですか?
ユニコード文字列のレーベンシュタイン編集距離を評価する必要があります。つまり、編集距離にバイアスがかからないように、同一のコンテンツを含む 2 つの文字列を正規化する必要があります。
テスト用にランダムな Unicode 文字列を生成する方法は次のとおりです。
そして、ここに失敗している簡単なテストケースがあります:
そして、ここにエラーがあります:
uni
実際に Unicode オブジェクトであることを確認しました。
誰かが私を啓発できますか?
python - unicodedata.normalize(form, unistr) はどのように機能しますか?
API ドキュメントのhttp://docs.python.org/2/library/unicodedata.html#unicodedata.normalize。それは言う
Unicode 文字列unistrの正規形formを返します。フォームの有効な値は、「NFC」、「NFKC」、「NFD」、および「NFKD」です。
ドキュメントはかなり曖昧です。誰かvalid values
がいくつかの例で説明できますか?
python - 文字列が Unicode 3.2.0 NFD にある場合、(Python 3.3 の unicodedata.normalize 関数を使用して) Unicode 6.1.0 NFC に構成しても安全ですか?
Python 3.3 で次のコードを検討してください。
最後のステートメントは動作することが保証されていますか? より良い質問は次のとおりだと思います: Unicode 3.2.0 に、Unicode 6.1.0 (Python 3.3 のデフォルト) でカバーされていない NFD シーケンスはありますか?
バイトレベルでbla
は、 とまったく同じではない可能性があることを認識していますfoo
。これは、マークの結合が最初から「非標準」の順序であった可能性があるためですfoo
(たとえば、 \ u0071 \u0323ではなく \u0071 \u0307 \u0323 ) \u0307 .破損/スクランブルされているように見えるのではなく、エンド ユーザーと同じようにbla
見える限り問題ないと思います。foo
c++ - Unicode 正規化 C++ ソース コード リファレンス
C++、特に NFKC でUnicode 正規化を実装したいと考えています。そのためには、任意の言語 (望ましい C++) のリファレンス ソース コードが必要です。
または、実装を開始する方法を教えてください。
.net - 文字列を正規化するにはどうすればよいですか?
.NET では、(NFC、NFD、NFKC、NFKD) 文字列を正規化でき、列挙型String.Normalize()
があり ます。Text.NormalizationForm
.NET for Windows Store Apps では、両方を利用できません。String
クラスとSystem.Text
名前System.Globalization
空間を調べましたが、何も見つかりませんでした。
私は何かを逃しましたか?Windows ストア アプリで文字列を正規化するにはどうすればよいですか?
Normalize
メソッドがストアアプリで利用できない理由を知っている人はいますか?
unicode - Canonical および Compatibility Decomposition_Mapping 値 チャート/テーブル
私はNFKC のUnicode 正規化に取り組んでいます。セクション1.3で、次の行を見つけました-
NFKC または NFKD の場合、完全な互換性分解を行います。これは、正規および互換性の Decomposition_Mapping 値を利用します。
どこから標準的で互換性のある Decomposition_Mapping 値を取得できますか?
unicode - 互換標準形の文字列は、対応する標準標準形に既に存在しますか?
私のテストでは、Unicode 6.2 の時点で、完全な互換性のある分解のすべての文字がプロパティ NFD_Quick_Check=Yes を持っていることがわかりました。
これにより、isNFKD(x) は isNFD(x) を意味し、isNFKC(x) は isNFC(x) を意味すると信じるようになります。
私の結論は正しいですか?そして、安定性はどうですか?これらの影響は、Unicode 標準の将来のバージョンでも保持されることが保証されていますか?
java - java.text.Normalizer: isNormalized() は false を返しますが、Normalize は文字列を変更しません
について学び始めたばかりjava.text.Normalizer
です。それはかなり簡単に思えました。対処する「奇妙な」ダッシュの1つがあります(特にU+2013)
通常のダッシュ文字に変換したいので、簡単なテスト コードをいくつか作成しました。
main() の出力は「ブー! 正規化された奇妙なダッシュは変更されませんでした」です。
そんなことがあるものか?これは、Normalizer.isNormalized が false を返したことを意味しますが、同じ文字列 (同じ Normalizer.Form を使用) に対して normalize() を呼び出しても、まったく変更されませんでした。
私は何か見落としてますか?
EDIT このメソッドは「true」を出力します。
それで、他のすべてが失敗した場合、私はこれを使用できます。しかし、好奇心のためにノーマライザーはどうしたのでしょうか?