美文网首页
Swift 中文GBK乱码解决方案

Swift 中文GBK乱码解决方案

作者: 芮淼一线 | 来源:发表于2021-11-14 00:56 被阅读0次

String.Encoding GBK编码支持,然后对String编码时直接使用gbk即可。

# GBK编码, 使用GB18030是因为它向下兼容GBK
let cfEnc = CFStringEncodings.GB_18030_2000
let enc = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(cfEnc.rawValue))
let gbk = String.Encoding.init(rawValue: enc)

优化:可对String.Encoding进行扩展

extension String.Encoding{
    public static let gbk: String.Encoding = .init(rawValue:CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.GB_18030_2000.rawValue)))
}

再优化:直接使用enc的原始值(2147485234) 创建GBK编码,可用于纯Swift的项目

extension String.Encoding{
    public static let gbk: String.Encoding = .init(rawValue: 2147485234)
}

相关文章

网友评论

      本文标题:Swift 中文GBK乱码解决方案

      本文链接:https://www.haomeiwen.com/subject/ecjttrtx.html