转自网友,收集起来,方便有需要的人。
utf-8转unicode:
-(NSString *) utf8ToUnicode:(NSString *)string
{
NSUInteger length = [string length];
NSMutableString *s = [NSMutableStringstringWithCapacity:0];
for (int i =0;i < length; i++)
{
unichar _char = [string characterAtIndex:i];
//判断是否为英文和数字
if (_char <= '9' && _char >='0')
{
[s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];
}
else if(_char >='a' && _char <='z')
{
[s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];
}
else if(_char >='A' && _char <='Z')
{
[s appendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];
}
else
{
[sappendFormat:@"\\u%x",[stringcharacterAtIndex:i]];
}
}
return s;
}
unicode转utf-8:
- (NSString*) replaceUnicode:(NSString*)aUnicodeString
{
NSString *tempStr1 = [aUnicodeStringstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
NSString *tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];
NSData *tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding];
NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData
mutabilityOption:NSPropertyListImmutable
format:NULL
errorDescription:NULL];
return [returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}