NSData to NSString encoding
cocoa-touch, encoding, ios
Solution
There's a much easier solution.
If your data has literal unicode escape sequences in it (that is, `\u041c\0430\043a` as pure ASCII characters, with no unicode escaping applied), then this is not the UTF-8 encoding of that string. You want `NSNonLossyASCIIStringEncoding`.
NSData *responseData = ....;
NSString* responseString = [[NSString alloc] initWithData:responseData encoding:NSNonLossyASCIIStringEncoding];
`responseString` will now be exactly what you expect.
Problem
I have an application that receives messages from server. Those messages may contain cyrillic characters. But when I transform received data into NSString I obtain only "\u041c\u0430\u043a" symbols instead of cyrrilic ones. ``` NSData *responceData = ....; NSString* responceString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; ``` How may I get correct symbols?