utf-8 - 使用 Swift 对 unicode 字符进行转义,即\u1234

标签 utf-8 swift

在带有 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/

相关文章:

使用 UTF-8 字符串写入文件时出现 Python 编解码器错误

java - 带有 HttpServletResponse 截断输出的 UTF-8 阿拉伯语

c - 使用 malloc、结构和可能参数的问题

java - 如何避免native2ascii UTF编码BOM头?

ios - 分配给变量或立即返回它不起作用

java - Java 中的 Unicode 感知 CSV 解析器

swift - Xcode:编译的应用程序文件无法像调试运行时一样工作

Swift 将问题与 UILabel 订阅结合起来

ios - 试图在 Swift3 Tableview Controller 中计算产品的价格

swift - 字典<AnyHashable : Any> where Any may hold nil value in Swift 3