2011-01-12 18 views
2

UT8でエンコードされた文字列をデコードしたい。iphoneでUTF8文字列をデコードする方法

入力文字列が "øÃ|テスト-2.txt"

であり、それは "はOAE-TEST-2.txt"

なるべきデコードした後、私が見つかりました。 NSStringまたはNSDataをUT8(NSUTF8StringEncoding)にエンコードする多くのAPIがありましたが、デコードする方法を見つけることができませんでした。

私が今まで試してみました何: -

NSString *str = [[NSString alloc] initWithUTF8String:[strToDecode cStringUsingEncoding:NSUTF8StringEncoding]]; 

[strToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 

[NSString stringWithUTF8String:[strToDecode cStringUsingEncoding:[NSString defaultCStringEncoding]]] 

私は、同じ入力文字列を試してみましたが、私はthird party decoderで適切な出力を得ます。

しかし、右方向に成功

どれでもヒントを得ることができませんでしたが、非常に高く評価されるだろう。

+0

コードを表示します。あなたがこれまでにしたことを私たちに教えてください。私たちが提供するソリューションはこれらの標準APIを使用するため、間違っている場所を知る必要があります。 –

+0

私はリクエストに応じて編集しました – Ekra

+0

私が解決策を共有してください。私のために – Hiren

答えて

6
[NSString stringWithUTF8String:] 
+0

私は自分の質問を編集しました。私の入力を確認し、私が言及した出力を確認してください。 – Ekra

+0

どのように入力文字列を取得していますか? utf-8として読み込むには、NSDataまたはchar *に格納する必要があります。それ以外の場合はうまくいきません。 –

+0

私はxmlとしてレスポンスを取得します。 xmlパーサーはDictの値を返します。そこには文字列形式があります。この場合、何ができますか? – Ekra

5

私はthisを使用します。

NSString *encoded_string = @"ü"; 
const char *ch = [encoded_string cStringUsingEncoding:NSISOLatin1StringEncoding]; 
NSString *decode_string = [[NSString alloc]initWithCString:ch encoding:NSUTF8StringEncoding]; 
NSLog(@"%@",decode_String) 
関連する問題