フランス語などの言語の文字列という単純なシナリオがあるとします。
そして、そのフランス語を文字変換された形式で ASCII に変換したいと考えています。
最も簡単な方法でCで行うにはどうすればよいですか?
また、理想的にはマルチプラットフォームであるiconvとは無関係の、まったく異なる方法がありますか?
フランス語などの言語の文字列という単純なシナリオがあるとします。
そして、そのフランス語を文字変換された形式で ASCII に変換したいと考えています。
最も簡単な方法でCで行うにはどうすればよいですか?
また、理想的にはマルチプラットフォームであるiconvとは無関係の、まったく異なる方法がありますか?
マルチプラットフォームが必要な場合iconvは、適切なツールではありません. 文字変換は GNU 固有の拡張機能です。一般に、文字変換は困難な問題であり、GNUiconv実装は些細な場合にのみ十分です。非 ASCII 文字がどのように音訳されるかは、文字のプロパティではなく、テキストの言語とその使用方法のプロパティです。たとえば、「日」は「り」や「に」、またはまったく別のものにすべきでしょうか? それとも、ラテン語ベースの言語に固執したい場合は、「ö」を「o」または「oe」にする必要がありますか? 他の非ラテン文字への拡張、ほとんどのインド語の音訳はかなり簡単です。ただし、タイ語の音訳には文字の並べ替えが必要であり、チベット語の音訳には音節全体を解析し、ルート/接頭辞/接尾辞などに含まれる文字を特定する必要があります。役割。
私の意見では、「ASCII に文字変換するにはどうすればよいですか?」に対する最良の回答です。ほとんどのソフトウェア プログラムの場合:しないでください。代わりに、そもそもASCIIが必要になったバグや意図的に英語中心のポリシーを修正してください。実際に文字変換を行うべき唯一のソフトウェアは、ユーザー自身の母国語ではないテキストの検索または解釈を容易にする高度に言語認識されたソフトウェアです。