用utf-8编码字符串,用编码格式编码另一个字符串

时间:2014-01-19 09:23:24

标签: ios iphone ios7 nsdata

一个,

我得到这样的字符串

  

“User_Name”=“\ U0639 \ U0644 \ U0649 \ U0639 \ U0628 \ U064a \ U062f”;   当存储在字符串中然后它显示   علىعبيد

现在我希望像

那样转换
  

علىعبيد-------->“\ U0639 \ U0644 \ U0649 \ U0639 \ U0628 \ U064a \ U062f”

我已经使用了这段代码

  NSData *data=[NSData dataWithBytes:[y_dict[key] UTF8String] length:strlen([y_dict[key]UTF8String])];
NSString* newStr = [[NSString alloc] initWithData:data
                                          encoding:NSUTF8StringEncoding];
NSLog(@"%@",newStr);

但它没有用。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

不确定为什么要这样,但在这里:

NSData *utf8 = [string dataUsingEncoding:NSUTF8StringEncoding];
NSMutableString *newStr = [[NSMutableString alloc] initWithCapacity:[utf8 length] * 6];
const uint8_t *bytes = [utf8 bytes];
for (NSUInteger i = 0; i < [utf8 length]; i++) {
    [newStr appendFormat:@"\\U%04x", (unsigned)bytes[i]];
}