I have a situation, I don't know what causing it.
I have got a string from server like this
NSString *str=@"\\u3060\\u3044\\u3053\\u3093\\u3001\\u5927\\u6839\\n";
I am trying to decode it using the following code..
NSLog(@"%@",[self decodeString:str]);
-(NSString*)decodeString:(NSString *)inputString{
NSData *utfStringData=[inputString dataUsingEncoding:NSUTF8StringEncoding];
NSString *output=[[NSString alloc] initWithData:utfStringData encoding:NSNonLossyASCIIStringEncoding];
return output;
}
I get nil as output.
But when I remove extra "\" from the input string, NSString itself shows the proper wording without even passing into decodeString function, see below
So I decided the replace the extra "\" from input string using following code
inputString=[inputString stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
Above code doesn't work either.
My question is -> What am I doing wrong? How does it work?
Thanks for Helping.

You need to use
CFStringTransformto convert unescape unicode characters.CFStringTransformcan perform real magic like transliterations between greek and latin (or about any known scripts), but it can also be used to do mundane tasks like unescaping strings from a server:CFStringTransformis really powerful. It supports a number of predefined transforms, like case mappings, normalizations or unicode character name conversion. You can even design your own transformations.OS X 10.11 and iOS 9 add the following method to Foundation:
Here is the code with the above method: