objective-c - 求助~ Unicode 转 NSString

【字号: 日期:2023-11-13浏览:47作者:雯心

问题描述

如题,网上找了都是比较旧的 关于 NSPropertyListSerialization的,可是这个类库github上都找不着下载啊...

问题解答

回答1:

API都写的很 清楚了 Use propertyListWithData:options:format:error: instead.[NSPropertyListSerialization propertyListWithData:tempData options:NSPropertyListImmutable format:NULL error:NULL];

系统库不能解决问题?

回答2:

测试代码:

NSString *dataStr = @'求助~ Unicode 转 NSString'; NSString *utf8Str = [NSString replaceUnicode:dataStr]; NSLog(@' utf8Str = %@',utf8Str); NSString *unnicodeStr = [NSString utf8ToUnicode:utf8Str]; NSLog(@' unicode = %@',unnicodeStr);

运行结果:objective-c - 求助~ Unicode  转  NSString把这两个方法写到NSString分类中

//Unicode转UTF-8+ (NSString*) replaceUnicode:(NSString*)aUnicodeString{ NSString *tempStr1 = [aUnicodeString stringByReplacingOccurrencesOfString:@'u' withString:@'U'];NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@''' withString:@'''];NSString *tempStr3 = [[@''' stringByAppendingString:tempStr2] stringByAppendingString:@'''];NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:NULL];return [returnStr stringByReplacingOccurrencesOfString:@'rn' withString:@'n']; }// utf8转unnicode+(NSString *) utf8ToUnicode:(NSString *)string{ NSUInteger length = [string length];NSMutableString *str = [NSMutableString stringWithCapacity:0];for (int i = 0;i < length; i++) {unichar _char = [string characterAtIndex:i];//判断是否为英文和数字if (_char <= ’9’ && _char >= ’0’) {[str appendFormat:@'%@',[string substringWithRange:NSMakeRange(i, 1)]];} else if(_char >= ’a’ && _char <= ’z’) {[str appendFormat:@'%@',[string substringWithRange:NSMakeRange(i, 1)]];} else if(_char >= ’A’ && _char <= ’Z’) {[str appendFormat:@'%@',[string substringWithRange:NSMakeRange(i, 1)]];} else { [str appendFormat:@'u%x',[string characterAtIndex:i]];} } return str;}

相关文章: