2017-06-03 90 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)))

相關問題