如何将'ï'字母编码为objective-c中的unicode'\u00EF'?

How to Encode ' ï ' letter into unicode ' \u00EF ' in objective-c?

在我的应用程序中,我必须使用以下代码为表情符号编码一个字符串:

NSData *data = [StrToEncode dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *text = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

当我编码时使用上面的代码 ï 然后得到结果 7 但我想要 Unicode \u00EF.

输入的字符串:-

StrToEncode = "This ïs â ball"

当前输出:-

文字="This 7s 2 ball"

要求输出:-

文字="This \u00EFs \u00E2 ball"

使用 NSUTF8StringEncoding 而不是 NSNonLossyASCIIStringEncoding

NSData *data = [StrToEncode dataUsingEncoding:NSUTF8StringEncoding];
NSString *text = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

Updated:unicode str printing

NSString * a = @"This ïs â ball";
NSMutableString * finalStr = [[NSMutableString alloc] initWithString:@""];
for (int i=0; i<a.length; i++) {
    unichar ch = [a characterAtIndex:i];
    int numVal = (int)ch;

    if (numVal>'z') {
        [finalStr appendString:[NSString stringWithFormat:@"\u%@",[[NSString stringWithFormat:@"%04x", ch] uppercaseString]]];
    }else{
        [finalStr appendString:[NSString stringWithFormat:@"%c", ch] ];
    }


}
NSLog(@"finalStr %@",finalStr);