2017-06-03 63 views
0

我在命令行工具应用程序中编写了一些代码,并且它运行正常。 但是,当我把它带到我的iOS应用程序,它出错了。Swift 3.1:String.Encoding(rawValue:)在iOS应用程序中运行不正确

的essentil代码:

let foo = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.GBK_95.rawValue)) 
let bar = String.Encoding(rawValue: foo) 
print("foo=\(foo)") 
print("bar=\(bar)") 

当我运行在一个命令行工具应用这些代码,我得到:

foo=2147485233 
bar=Chinese (GBK) 

当我运行在一个这些代码iOS应用,我得到了:

foo=2147485233 
bar= 

代码在两种环境中得到不同结果似乎令人惊讶。 栏会得到一个空的枚举值吗?我该如何解决它?

enter image description here

enter image description here

回答

0

嗯...我得到的帮助来自this

使用GB_18030_2000代替。

let encoding = String.Encoding(rawValue: CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.GB_18030_2000.rawValue)))

相关问题