此代码:
var str = "ぴ" //Japanese: pi
xcode报告编译错误:
源文件中找到不可打印的ASCII字符
答案 0 :(得分:2)
func convertString(string: String) -> String {
var data = string.dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)
return NSString(data: data!, encoding: NSASCIIStringEncoding) as! String
}
答案 1 :(得分:0)
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
}
答案 2 :(得分:0)
在Playground中,您的线路不会给您一个错误,因为它默认使用UTF-8编码。在常规项目中,您可靠的文件检查器将允许您在“文本设置”部分中定义文本编码。我建议使用某些版本的Unicode,如果你的应用主要使用西方语言,则可能是UTF-8;如果你有很多亚洲语言的文本常量,我建议使用UTF-16。
这只是为了记录,因为这是一个老问题,你可能在几年前找到了一个有效的解决方案。