【问题标题】:iOS encode string to unicodeiOS 将字符串编码为 un​​icode
【发布时间】:2014-03-13 16:26:10
【问题描述】:

我有一个既有英文字母又有日文字符的字符串。在将数据传输到我们的服务器之前,我需要将日文字符转换为 Unicode。我发现了很多转换为 UTF-8 的主题,但在转换为 Unicode 时我没有找到任何东西。

旁注:我还注意到,如果我将字符串放入数组并使用 NSLog 打印数组,日文文本会以 Unicode 格式打印。

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

这将打印出:“a\U3055”代表我在数组中的字符串数据。

【问题讨论】:

标签: ios unicode


【解决方案1】:
-(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:@"+"];
}

【讨论】:

    【解决方案2】:
    NSData *dataenc = [data dataUsingEncoding:NSNonLossyASCIIStringEncoding];
    NSString *encodevalue = [[NSString alloc]initWithData:dataenc encoding:NSUTF8StringEncoding];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2018-01-29
      相关资源
      最近更新 更多