不能够编码的Unicode字符串
问题描述:
解码我不能够给这个编码字符串解码为它的Unicode值: - %5Cu20A8
不能够编码的Unicode字符串
NSData *unicodedStringData =
[@"%5Cu20A8" dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
NSString *stringValue =
[[NSString alloc] initWithData:unicodedStringData encoding:NSUTF8StringEncoding];
我试图NSASCIIStringEncoding
和NSUnicodeStringEncoding
很好,但它不工作。
答
这工作: -
NSString *unicodedString = [[dictMain objectForKey:@"currency"] stringByRemovingPercentEncoding];
NSData *unicodedStringData = [unicodedString dataUsingEncoding:NSUTF8StringEncoding];
NSString *currencyUnicode = [[NSString alloc] initWithData:unicodedStringData encoding:NSNonLossyASCIIStringEncoding];
字符串解码之前只删除百分号转义。
答
只是提高Ashish的答案
NSString *unicodedString = [@"%5Cu20A8" stringByRemovingPercentEncoding];
NSData *unicodedStringData = [unicodedString dataUsingEncoding:NSUTF8StringEncoding];
NSString *currencyUnicode = [[NSString alloc] initWithData:unicodedStringData encoding:NSNonLossyASCIIStringEncoding];
NSLog(@"%@",currencyUnicode);
输出 - ₨