【发布时间】:2016-11-28 16:32:08
【问题描述】:
此字符串扩展名适用于拉丁字符,但不适用于西里尔字母。有人能解释一下为什么吗,我该如何解决?
extension String {
var asciiArray: [UInt32] {
return unicodeScalars.filter{$0.isASCII}.map{$0.value}
}
}
【问题讨论】:
-
什么是样本输入和预期输出?将西里尔字符转换为 ASCII 是没有意义的。你想要 UTF-8,Unicode 标量,...? – 也许您只需要删除过滤器?
-
"适用于拉丁字符,但不适用于西里尔字母" - 它以何种方式起作用和不起作用?
-
西里尔字符不是 ASCII 字符。 ASCII 仅涵盖所有可能的 Unicode 字符中的前 255 个字符。
-
您正在尝试创建一个
asciiArray来表示非 ascii 字符。这应该如何工作?
标签: swift string ascii cyrillic