【发布时间】:2015-09-18 17:02:23
【问题描述】:
这段代码:
var str = "ぴ" //Japanese: pi
xcode报告编译错误:
在源文件中发现不可打印的 ASCII 字符
【问题讨论】:
-
问题是什么?
-
怎样做才能不报错
-
那不是ASCII字符
标签: encode
这段代码:
var str = "ぴ" //Japanese: pi
xcode报告编译错误:
在源文件中发现不可打印的 ASCII 字符
【问题讨论】:
标签: encode
你试过吗?
func convertString(string: String) -> String {
var data = string.dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)
return NSString(data: data!, encoding: NSASCIIStringEncoding) as! String
}
【讨论】:
SWIFT 4:
func convertString(string: String) -> String {
let data = string.data(using: String.Encoding.ascii, allowLossyConversion: true)
return NSString(data: data!, encoding: String.Encoding.ascii.rawValue)! as String
}
【讨论】:
在 Playground 中,您的线路不会按原样给您错误,因为它默认使用 UTF-8 编码。在常规项目中,您值得信赖的文件检查器将允许您在“文本设置”部分定义文本编码。我建议使用某些版本的 Unicode,如果您的应用主要处理西方语言,则可能是 UTF-8;如果您有很多亚洲语言的文本常量,我建议使用 UTF-16。
这只是为了记录,因为这是一个老问题,您可能在几年前就找到了可行的解决方案。
【讨论】: