4

私のようなペルシャのテキストがあります: "228درصورتيکهموضوعتعهد、تأديهيوجهنقديباشد、حاکمميتواندبارعايتمادهي221مديونرابهجبرانخسارتحاصلهازتأخيردرتأديهدينمحکومنمايدを" 私の目標は、本文からの数字である「۲۲۸」を分割することです。それが通常の英語の数字であれば、次の方法で簡単に行うことができます。

sscanf(text,"%d %[^\t\n]", &a);

ただし、cはペルシア数を10進数として認識しません。だから私は何をすべきですか?

私がいくつかの調査をしているとき、objective-cがこのテキストをutf-8として認識することを知っています。これを解決する1つの方法は、数字を英語のものに置き換えることです。

4

1 に答える 1

2

私たちがしているのは、数字をペルシア語で表示し、それらの数字を英語で送信することです。
ユーザーがテキストを入力するときに、すべてをペルシャ語に変換するコンバーターを UI に用意するだけです。ただし、元のテキストをアプリに送信してください。

ケースが数値だけの場合は、数値専用のコンバーターが必要になる場合があります。

ところで、これは私たちが使用し、テスト済みのソリューションです。ただし、より良いものを見つけることができます。


更新
この場合 (ユーザーの入力を変更できない場合)、次の手順を試す必要があります。

まず、これらの数値がどのようにエンコードされているかを理解してください。ペルシャ数字を文字として受け取り、それらを印刷して実際に何を表示するかを確認するサンプル アプリケーションを作成

number-encoded-characterますreal value。その中に 10 個の数字をすべて格納します。

3 番目に、テキスト全体を文字列として受け取り、その中の数字を見つけます。(これで、各文字をこれらのエンコードされた数値文字で比較できるようになったため)。ルックアップ テーブルに一致するものがあるとすぐに、その真の価値を得ることができます。

于 2012-08-16T07:20:20.713 に答える