2012-03-15 15 views
0

サーバからjsonデータを受信しましたが、内部に文字列があります。私はそれらを得るためにSBJsonhttps://github.com/stig/json-frameworkを使用します。iOS:decode utf8 string

は、しかし、私は、出力UILabelでいくつかの文字列が、彼らはこのように見えるとき:\u0418\u043b\u044c\u044f\u0411\u043b\u043e\u0445(それはキリル文字記号です)

そして、それは私が通常のシンボルにそれを解読することができますどのように右のラテン文字ですべて

ですか?

データを得ることについていくつかのコード:コメント

NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
    NSString *stringData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
    NSDictionary *object = [parser objectWithString:stringData error:nil]; 
    NSString *comments = [NSString stringWithFormat:@"%@",[object valueForKey:@"comments"]]; 

文字列は非常に特別なフォーマットを持っているので、私はstringByTrimmingCharactersInSetのようないくつかの操作をやっている、

stringByReplacingOccurrencesOfString

NSArray* json_fields = [comments_modified componentsSeparatedByString: @";"];

最終的なデータを取得します。

一部は(それはNSString* commentsです)交換/トリミング後これは、受信したデータの例です。

"already_wow"=0;"date_created"="2012/03/1411:11:18";id=41598;name="\U0418\U043b\U044c\U044f\U0411\U043b\U043e\U0445";text="\U0438\U043d\U0442\U0435\U0440\U0435\U0441\U043d\U043e";"user_id"=1107;"user_image"="user_image/a6/6f/96/21/20111220234109510840_1107.jpg";"user_is_deleted"=0;username=IlyaBlokh;"wow_count"=0; 

あなたは、私が(でビュー上に表示した場合フィールドtextname

をコード化していることがわかりUILabelのように)、彼らはまだ同じに見える

+0

@Erik Aigner、はい、私のコードは同じです。私の更新された質問を見てください - 私は 'NSUTF8StringEncoding'を解析する前に文字列を設定します –

答えて

0

多分返される文字列はユニコード文字列の表現(ASCII文字列)です。つまり、utf8でエンコードされたコンテンツは返されません。 NSASCIIStringEncodingを使用してstringDataを取得します

+0

後で文字列全体を小文字にします –

+0

@IlyaBlokhは私が編集したメソッドを試します。 –