2017-07-27 65 views
0

解碼我不能夠給這個編碼字符串解碼爲它的Unicode值: - %5Cu20A8不能夠編碼的Unicode字符串

NSData *unicodedStringData = 
    [@"%5Cu20A8" dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO]; 
    NSString *stringValue = 
    [[NSString alloc] initWithData:unicodedStringData encoding:NSUTF8StringEncoding]; 

我試圖NSASCIIStringEncodingNSUnicodeStringEncoding很好,但它不工作。

回答

0

這工作: -

NSString *unicodedString = [[dictMain objectForKey:@"currency"] stringByRemovingPercentEncoding]; 

NSData *unicodedStringData = [unicodedString dataUsingEncoding:NSUTF8StringEncoding]; 

NSString *currencyUnicode = [[NSString alloc] initWithData:unicodedStringData encoding:NSNonLossyASCIIStringEncoding]; 

字符串解碼之前只刪除百分號轉義。

0

只是提高Ashish的答案

NSString *unicodedString = [@"%5Cu20A8" stringByRemovingPercentEncoding]; 

NSData *unicodedStringData = [unicodedString dataUsingEncoding:NSUTF8StringEncoding]; 

NSString *currencyUnicode = [[NSString alloc] initWithData:unicodedStringData encoding:NSNonLossyASCIIStringEncoding]; 
NSLog(@"%@",currencyUnicode); 

輸出 - ₨