私は、特定の言語コードに関連付けられている文字セットを判断する方法を探しています。たとえば、英語の "en"を渡すと、a-zA-Zのユニコード文字が返されることがあります。アップルのプラットフォーム上のAPIが理想的かもしれませんが、もし私が自分自身をコード化することができるようなことがUnicodeで可能ならば、私は説明のために解決します。たぶん、文字クラスや何かが好きかもしれません。Unicode文字セットが特定の言語コードに関連付けられるかどうかを判断する方法はありますか?
答えて
CLDRデータベースには、異なる言語で使用される文字のセットがあります。その形式はXMLベースのLDMLですが、代わりの派生形式やAPIを見つけることができます。ICUが該当します。
セットはcharacter elementsで指定されていますが、かなり厄介なフォーマット(非常に広いテーブル)でも、既存のコンテンツのsummary chartsが見つかります。
おそらく、文字のCLDRデータがあなたの目的に役立つかどうかを素早く確認する最も良い方法は、一部のロケールのデータを見ることです。 root locale dataが(大きなテーブルの一部として)英語のロケールに関する次の情報が含まれています
exemplarCharacters main: [a b c d e f g h i j k l m n o p q r s t u v w x y z]
exemplarCharacters auxiliary: [á à ă â å ä ã ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ú ù ŭ û ü ū ÿ]
exemplarCharacters currencySymbol[a b c č d e f g h i j k l ł m n o º p q r s t u v w x y z]
exemplarCharacters punctuation: [\- ‐ – — , ; \: ! ? . … ' ‘ ’ " “ ” () \[ \] @ */\& # † ‡ ′ ″ §]
私は、このセットは、一般的に広すぎることを示していると思います。例えば、英語の主な組(英字)は "ë"(Brontëについて考える)を含んでおらず、補助セットには英語で一般的に使われる文字に加えて、本当に外国語でしかない文字が含まれています。 "ō"。
これらのセットが何であるかについては、かなり曖昧な説明があります。ユースケースが異なると、異なるアプローチが必要になります。例えば、これらの組の和集合を使用して、フォントが所定の言語のテキストに適しているかどうか(すなわち、許容可能な形状のすべての文字を含むかどうか)を決定することは当然であろう。しかし、これは実際にはうまく機能するフォントを除外しますが、ごくまれにしか使用されない文字についてはグリフがありません。同様に、情報を使用してどの文字エンコーディングを使用できるかを判断すると、Unicodeエンコーディングだけが英語で受け入れられるという結論に終わるでしょう。
結論として、CLDRデータは便利なコンパイルですが、注意して使用する必要があります。
cool。ご回答有難うございます。 –
- 1. 文字が文字列内にあるかどうかを判断するコードを書く方法は?
- 2. MySQLでフィールドが数値か文字列かどうかを判断する方法はありますか?
- 3. CultureInfoが特定の言語を使用しているかどうかを判断する別の方法はありますか?
- 4. 指定したdirがリムーバブルsdcardにあるかどうかを判断する方法はありますか?
- 5. LC_CTYPEがCで設定されているかどうかを判断する方法はありますか?
- 6. PythonでUnicode文字列に中国語/日本語文字が含まれているかどうかを知る方法はありますか?
- 7. 文字列が日付か数字かを判断する
- 8. Swiftに1年の閏月があるかどうかを判断する方法はありますか?
- 9. Androidデバイスに実際のキーボードがあるかどうかを判断する方法はありますか?
- 10. パッケージにOracleの状態があるかどうかを判断する方法はありますか?
- 11. クラスがjvmにロードされているかどうかを判断する方法はありますか?
- 12. 単語が英語かどうかを判断するアルゴリズム?
- 13. 文字列が有効なJSONかどうかを判断する方法?
- 14. セットが別のセットのサブセットであるかどうかを判断する関数
- 15. WPF TabItemにScrollBarがあるかどうかを判断する方法はありますか?
- 16. ユーザーが簡体字または繁体字中国語を好きかどうかを判断する方法
- 17. sqlplusバッファがサーバーに送信されたかどうかを判断する方法はありますか?
- 18. varがjavascriptのelementFinderオブジェクトであるかどうかを判断する方法はありますか?
- 19. 要素がラップされているかどうかを判断する方法はありますか?
- 20. メソッドがJavaクラスでオーバーライドされているかどうかを判断する方法はありますか?
- 21. Route 53レコードセットが使用されているかどうかを判断する方法はありますか
- 22. STDINがシステムコールを通じてTTYであるかどうかを判断する方法はありますか?
- 23. iPhoneがローミング中であるかどうかを判断する方法はありますか?
- 24. Windowsサーバが特定のプログラムを実行しているかどうかをLINUXから判断する方法
- 25. JSの言語のUnicode文字セットを検索する
- 26. 要素がGAMSのセットに含まれているかどうかを判断する方法
- 27. ファイルに特定の文字セットが含まれているかどうかを確認する方法(例:^&^)
- 28. タイプがコレクションのタイプであるかどうかを判断する方法は?
- 29. ファイルに関連付けられたリストバッファーはありますか?
- 30. Backbone.js - ルートイベントがページロードでトリガーされたかどうかを判断する方法はありますか
「a-zA-Z」は、「文字セット」に関係なく、同じ文字と同じUnicodeコードポイントです。あなたは "単語"文字と見なされるものを見つける方法を尋ねていますか? – Charles