gpt4 book ai didi

iphone - UTF-8 转换

转载 作者:行者123 更新时间:2023-12-03 16:15:10 26 4
gpt4 key购买 nike

我正在获取一个 JSON 数组并将其存储在 NSArray 中。但是它包含 JSON 编码的 UTF-8 字符串,例如 pass\u00e9 表示 passé。我需要一种将所有这些不同类型的字符串转换为实际字符的方法。我有一个完整的 NSArray 需要转换。或者我可以在显示时对其进行转换,这是最简单的。

我找到了这张图表http://tntluoma.com/sidebars/codes/

是否有方便的方法或可以下载的库?

谢谢

顺便说一句,我无法找到更改服务器的方法,所以我只能在我这边修复它......

最佳答案

您可以使用基于 NSScanner 的方法。以下代码(不是防错误的)可以为您提供一种如何工作的方法:

NSString *source = [NSString stringWithString:@"Le pass\\u00e9 compos\\u00e9 a \\u00e9t\\u00e9 d\\u00e9compos\\u00e9."];
NSLog(@"source=%@", source);

NSMutableString *result = [[NSMutableString alloc] init];
NSScanner *scanner = [NSScanner scannerWithString:source];
[scanner setCharactersToBeSkipped:nil];
while (![scanner isAtEnd]) {
NSString *chunk;

// Scan up to the Unicode marker
[scanner scanUpToString:@"\\u" intoString:&chunk];
// Append the chunk read
[result appendString:chunk];

// Skip the Unicode marker
if ([scanner scanString:@"\\u" intoString:nil]) {

// Read the Unicode value (assume they are hexa and four)
unsigned int value;
NSRange range = NSMakeRange([scanner scanLocation], 4);
NSString *code = [source substringWithRange:range];
[[NSScanner scannerWithString:code] scanHexInt:&value];
unichar c = (unichar) value;

// Append the character
[result appendFormat:@"%C", c];

// Move the scanner past the Unicode value
[scanner scanString:code intoString:nil];
}
}

NSLog(@"result=%@", result);

关于iphone - UTF-8 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2711279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com