2012-08-02 22 views
9

"mystring%201"のように正しくエンコードされていないnsstringを受け取りました。どのようにUTF8として解釈される可能性があるすべての文字を置き換えることができますか? 。ポストではなく、完全な解決策は、NSStringのは、すでに間違ってエンコードされますのでご注意ください、私は、char配列をコードする方法については求めていないのですありがとうios UTF8エンコーディングからnsstring

+0

あなたはURIエンコーディングについて質問していますか? http://en.wikipedia.org/wiki/Percent-encoding – jcopenha

+0

はい、URIエンコーディング – Jaume

答えて

33

- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encodingですあなたは何をしたいのですか?基本的にはそう使います:

newString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
2

Formatting String ObjectsStrings and Non-ASCII Charactersセクション確認します。。

NSString *s = [NSString stringWithUTF8String:"Long \xe2\x80\x94 dash"]; 
1

%エンコード/デコードまたは完全なURLエンコード/デコードをしたいですか? - (NSString *)stringByReplacingPercentEscapesUsingEncoding:それはちょうどパーセントエンコーディングだが、完全なURLエンコーディングがある場合(つまり、スペースは%20または+のいずれかになります)、URLデコードのようなものが必要になりますthree20ライブラリ(またはそこで検索すると、URL decoding/encoding NSStringのようにそれを行う方法の例がたくさんあります)。

6
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 
2
lblDate.text=[NSString stringWithCString:[[arrTripDetail valueForKey:Param_vCurrencySymbol] UTF8String] encoding:NSUTF8StringEncoding]; 

Uは、例えば、文字列

に&取得カスタム絵文字を変換することができます。

入力:\ U20b9

出力:₹

+0

複数の質問に同じ回答を投稿しないでください。 1つの良い答えを投稿し、投票/フラグを立てて他の質問を重複として閉じます。質問が重複でない場合は、*あなたの質問に対する回答を調整してください。* – durron597

関連する問題