iOS将字符串编码为Unicode

3

我有一个字符串,其中既包含英文字母又包含日文字符。在将数据传输到服务器之前,我需要将日文字符转换为Unicode格式。我找到了很多关于转换为UTF-8的主题,但是对于转换为Unicode没有找到任何内容。

顺便说一下:如果我将字符串放入数组中并使用NSLog打印数组,日文文本会以Unicode形式打印出来。

NSString *data = @"aさ";
NSArray *array = [NSArray arrayWithObjects: data, other data..., nil];
NSLog(@"%@", array);

这将输出:"a\U3055",表示数组内的字符串数据。

你可以看一下这个链接: http://stackoverflow.com/questions/10305488/nsstring-to-const-char-convert-with-greek-characters - Dinesh
NSLog和description只应用于调试输出 :) - larva
2个回答

15
NSData *dataenc = [data dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *encodevalue = [[NSString alloc]initWithData:dataenc encoding:NSUTF8StringEncoding];

0
-(NSString *)StringWithData:(NSString *)Encoded {

NSString *decoded = (__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (CFStringRef)Encoded, CFSTR(""), kCFStringEncodingUTF8);
return [decoded stringByReplacingOccurrencesOfString:@"+" withString:@" "];
}

- (NSString *)EncodceStringWithData:(NSString *)Encoded {

NSString *urlEncoded = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes( NULL, (CFStringRef)Encoded, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", kCFStringEncodingUTF8));
return [urlEncoded stringByReplacingOccurrencesOfString:@"%20" withString:@"+"];
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接