アラビア語の英語データベースを含むPythonプログラムで作業しています。このデータベースを更新したり、ボキャブラリを学習することができます。私は必要な機能をすべて実装していますが、最も重要な部分が欠けています。アラビア文字列のエンコーディングです。新しい語彙をデータベースのtxtファイルに追加するには、ディクショナリが作成され、その内容がファイルに追加されます。語彙を勉強するために、txtファイルの内容が再度辞書に変換され、ランダムな単語がコンソールに印刷され、その翻訳が頼まれます。今や、ユーザはEnglisch単語とアラビア語をラテン文字で書く可能性があり、プログラムは内部的に擬似アラビア文字列をアラビア文字に変換します。たとえば、ユーザーがアラビア語を要求されたときに「b」と書いた場合は、「ب」を追加します。 1.実装で考慮する必要がある約80の兆候があります。ラテン文字の入力文字列とそれぞれのアラビア文字の間のマッピングを作成する方法はありますか?私の場合、最も直観的なアイデアは、if文を他の文の後に書くことですが、それはおそらく超速です。 2.アラビア文字列をコンソールに印刷するのに問題があります。この入力python Unicodeをファイルに書き込んでシンボルとして取得します
print('bla{}!'.format(chr(0xfe9e)))
print('bla{}!'.format(chr(int('0x'+'0627',16))))
が、これはしません一方、アラビア語記号の印刷になります:私はUnicodeのシンボルで構成されてシーケンスをしたいので、
print('{}'.format(chr(0xfe9e)))
私は、この問題を回避するために何ができますのみ?
最後の行はPython 3でうまく動作します。アラビア語が右から左に書かれているため、行の右端の文字を検索する必要があります。 – ForceBru
あなたは正しいですね。ありがとう!最初の質問の提案はありますか? – hmw1001
ようこそStackOverflowへ!あなたの質問を2つの部分に分割することをお勧めします。この1つ(アラビア語のUnicode文字を印刷/保存すること)を行いますが、次に数字1を切り捨てて(アラビア語の字句を翻字して)、新しい質問として投稿します。 –