如何编码'ï';字母转换为unicode'\u00EF';在objective-c中?

如何编码'ï';字母转换为unicode'\u00EF';在objective-c中?,objective-c,encoding,character-encoding,encode,urlencode,Objective C,Encoding,Character Encoding,Encode,Urlencode,在我的应用程序中,我必须使用以下代码对表情符号的字符串进行编码: NSData *data = [StrToEncode dataUsingEncoding:NSNonLossyASCIIStringEncoding]; NSString *text = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 当我编码I时使用上述代码,然后得到结果\357,但我想要Unicode\u00EF 输入的字符串:- st

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

NSData *data = [StrToEncode dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *text = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
当我编码
I
时使用上述代码,然后得到结果
\357
,但我想要Unicode
\u00EF

输入的字符串:-

strotencode=“这个球”

电流输出:-

text=“这个\357s\342球”

所需输出:-


text=“This\u00EFs\u00E2 ball”

使用NSUTF8StringEncoding而不是NSNONLOSYSISTRINGEncoding

NSData *data = [StrToEncode dataUsingEncoding:NSUTF8StringEncoding];
NSString *text = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
更新:unicode str打印

NSString*a=@“这个球”;
NSMutableString*finalStr=[[NSMutableString alloc]initWithString:@'';
对于(int i=0;i'z'){
[finalStr appendString:[NSString stringWithFormat:@“\\u%@,[[NSString stringWithFormat:@”%04x,“ch]大写字符串]];
}否则{
[finalStr appendString:[NSString stringWithFormat:@“%c”,ch]];
}
}
NSLog(@“finalStr%@”,finalStr);

它的工作并不完美。返回相同的“ï”,而不是返回unicode。基本上我想把拉丁字符转换成unicode。谢谢,它很好用。但我的实际需求是,如果我的字符串是‘Thisïs–ball’,那么当前我使用上述编码逻辑得到‘This\357s\342 ball’,但我想要得到‘This\u00EFs\u00E2 ball’。如果你有任何解决办法,请帮我检查一下。希望它能帮助人类。如果(numVal>'z')符合您的要求,您可以更改此部分。很好,它的工作非常完美。但它将返回'\U'而不是'\U'。如果您有任何解决方案,请更正。更正。请检查。
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);