【问题标题】:How to read GB2312 encoded text files using Swift 3.0如何使用 Swift 3.0 读取 GB2312 编码的文本文件
【发布时间】:2017-06-16 03:12:10
【问题描述】:
我的应用需要读取以 GB2312 编码的文本文件。这是当前代码。
SGFString = try String(contentsOf:path)
它抛出一个异常。
无法打开,因为其内容的文本编码不能
确定。
查看 String.Encoding 值时,没有 GB2312。阅读 GB2312 文本文件的最佳方式是什么?
谢谢
雷
【问题讨论】:
-
This 或 this 可以提供一些帮助。如您所知,GB-18030是包括GB-2312在内的上层兼容标准。
标签:
ios
swift
character-encoding
gb2312
【解决方案1】:
感谢 OOPer 的帮助。我从链接中复制了一些代码,现在它可以工作了。
代码如下:
extension String.Encoding {
static let gb_18030_2000 = String.Encoding(rawValue: CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.GB_18030_2000.rawValue)))
}
Gb2312String = try String(contentsOf:path, encoding:String.Encoding.gb_18030_2000)