字符串显示为Unicode - Swift

时间:2015-07-17 14:36:26

标签: ios xcode swift

当我将一个字符串数组打印到日志中时,大多数字符串会出现,就像他们想象的那样,但有时这样的节目是这样的:

\U200e\U05d3\U05d5\U05e8\U05d9\U05ea \U05dc\U05d5\U05d9\U200e    

是什么导致了这个问题?

1 个答案:

答案 0 :(得分:0)

使用NSLog记录数组时,或者使用print记录NSArray时,您依赖于Cocoa的日志记录。它已经很老了,所以它通过显示其代码点来表示非ASCII字符串。

如果您不喜欢这样,请使用Swift的print进行登录,并确保您记录的是Swift数组,而不是NSArray。

let s = "\u{200e}\u{05d3}\u{05d5}\u{05e8}\u{05d9}\u{05ea}"
NSLog("%@",[s])       // Cocoa is logging
print([s] as NSArray) // Cocoa is logging
print([s])            // Swift is logging