在带有 swift 的 xcode 6 中使用 JSON 时,我遇到特殊字符问题
我在 Cocoa/objective C 中找到这些代码来解决一些转换口音的问题,但无法使其在 Swift 中工作。关于如何使用它有什么建议吗? ...最好的替代建议也很酷...
谢谢
NSString *input = @"\\u5404\\u500b\\u90fd";
NSString *convertedString = [input mutableCopy];
CFStringRef transform = CFSTR("Any-Hex/Java");
CFStringTransform((__bridge CFMutableStringRef)convertedString, NULL, transform, YES);
NSLog(@"convertedString: %@", convertedString);
// prints: 各個都, tada!
最佳答案
它在 Swift 中非常相似,尽管您仍然需要使用 Foundation 字符串类:
let transform = "Any-Hex/Java"
let input = "\\u5404\\u500b\\u90fd" as NSString
var convertedString = input.mutableCopy() as NSMutableString
CFStringTransform(convertedString, nil, transform as NSString, 1)
println("convertedString: \(convertedString)")
// convertedString: 各個都
(最后一个参数让我陷入了循环,直到我意识到 Swift 中的 Boolean
是 UInt 的类型别名——对于这些类型的方法,Objective-C 中的 YES 变成 Swift 中的 1。)
关于utf-8 - 使用 Swift 对 unicode 字符进行转义,即\u1234,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24318171/