0

「発音区別符号のアクセントを組み合わせた形に強制することによって、この文字列を正規化する」と言えるようにしたいと思います。

詳細:
私のコードはC#で開発されていますが、問題が言語固有であるとは思われません。

私のデータには2つの問題があります(1)発音区別符号がこのデータの基本文字の前にあります(Unicode形式のDまたはKDの基本文字の後に続く必要があります)。(2)私のデータのアクセント発音区別符号はギリシャ語のTonos(U + 0384)ですが、正規化するにはフォーム(U + 0301)を組み合わせる必要があります。

これをプログラムで実行したいと思います。このタイプの操作はよく知られているはずですが、C#グローバリゼーションメソッドではサポートが見つかりませんでした(正規化メソッドはありますが、発音区別符号を強制的に結合形式にする方法はありません)。

4

1 に答える 1

1

ここでは、C#グローバリゼーションの方法が役立つとは思いません。ご指摘のとおり、U+0384は結合文字ではありません。それ自体がキャラクターです。これは、互換性の分解(To U + 0020 U + 0301)からも確認できます。データセットは、次の文字の発音区別符号としてtonosを表示するソースからのものである可能性があります。これは、Unicode仕様によると「適切」ではありません。したがって、データを自分で変換する必要があります。アポストロフィで同様の問題が発生しました。アプリケーションで正しい引用符が使用されている場合があります。

データ変換は難しくありません、私はあなたがそれをコード化できると確信しています。ステートフルコンバーターを使用して、データをストリーミングします。U + 0384が検出されても、エメットされません。あなたは「トノス」状態に固執し、次のキャラクターの後にU+0301を放出します。処理するエラー条件は次のとおりです(U + 0384が実行され、データの終わりが「tonos」状態になります)。このデータは、通常のAPIで正規化できます。幸運を。

于 2010-08-23T19:21:48.470 に答える