swift - NSData编码

标签 swift nsstringencoding cfstring

目前,我正在尝试在我的 iOS 应用程序中解析 NSData。问题是,我似乎找不到合适的希伯来语编码来进行解析。我必须使用 Windows-1255 编码(适用于 windows 的希伯来语编码类型)或 ISO 8859-8 编码对数据进行解码,否则我会得到无意义的信息。我最接近解决问题的方法是使用

CFStringConvertEncodingToNSStringEncoding(CFStringEncodings.ISOLatinHebrew)

但它会抛出 'CFStringEncodings' is not convertible to 'CFStringEncoding'(注意编码s 与编码)。

我该怎么做才能正确编码数据?

谢谢!

最佳答案

问题是CFStringEncodings是一个基于CFIndex的枚举 (它又是 Int 的类型别名),而 CFStringEncoding 是一个类型 UInt32 的别名。因此,您必须转换 .ISOLatinHebrew 将值显式赋给 CFStringEncoding:

let cfEnc = CFStringEncodings.ISOLatinHebrew
let enc = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(cfEnc.rawValue))

关于swift - NSData编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27861724/

相关文章:

ios - OpenGL ES "imperfection"

ios - 从 UIButton 继承时,continueTrackingWithTouch 不起作用

ios - Swift to php 在本地服务器上不能在我的设备上运行?

ios - NSString 带有西里尔语到 UTF8/拉丁语编码

ios - 在 iOS 中解析和处理文本字符串

ios - 如何根据 objective-c 中的内存地址知道对象名称

ios - Swift - Obj-c 链接停止工作

objective-c - iOS:检测NSData的正确编码

ios7 - CFStringGetCStringPtr 在 iOS7 上返回 NULL