Convert Unicode character to NSString

吃可爱长大的小学妹 提交于 2019-11-26 21:54:50

问题


I have received string from webservice which contains Unicode character. I want to convert that To plain NSString. so How can i do that?

ex: "This isn\u0092t your bike"

So how can remove unicode and replace it with its equal special symbol characted.

The output would be : "This isn't your bike"


回答1:


char cString[] = "This isn\u2019t your bike";
NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"result string: %@", string);

This should work.

UPDATE FOR THE COMMENT:

The unicode character specified by you is not supported in all fonts.

http://www.fileformat.info/info/unicode/char/92/fontsupport.htm

But this one does.

http://www.fileformat.info/info/unicode/char/2019/fontsupport.htm

Thats why it throws an error.




回答2:


NSString *final_url = [NSString stringWithFormat:url]; 

final_url = [final_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:final_url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:120.0];    

NSURLResponse *response;
NSError *error = [[NSError alloc] init];

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

NSString *strResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

SBJSON *objJSON = [SBJSON new];

NSMutableDictionary *objDataDic = [objJSON objectWithString:strResponse error:nil];



回答3:


There is a library which does conversion https://github.com/alexaubry/HTMLString. It will convert all kind of Unicode character.

let escapedSnack = "Fish & Chips"
let snack = escapedSnack.removingHTMLEntities // "Fish & Chips" 


来源:https://stackoverflow.com/questions/12090585/convert-unicode-character-to-nsstring

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!