ISO8859

Swift 5.1 compatible

License MIT

在 Swift 中将 ISO8859 1-16 编码的文本转换为字符串。

用法

let encoding = ISO8859.part1
let string = String([...], iso8859Encoding: encoding)

请参阅示例

支持的字符集

编码 名称 枚举
ISO8859-1 拉丁语 1 西欧语 ISO8859.part1
ISO8859-2 拉丁语 2 中欧语 ISO8859.part2
ISO8859-3 拉丁语 3 南欧语 ISO8859.part3
ISO8859-4 拉丁语 4 北欧语 ISO8859.part4
ISO8859-5 拉丁/西里尔文 ISO8859.part5
ISO8859-6 拉丁/阿拉伯文 ISO8859.part6
ISO8859-7 拉丁/希腊文 ISO8859.part7
ISO8859-8 拉丁/希伯来文 ISO8859.part8
ISO8859-9 拉丁语 5 土耳其语 ISO8859.part9
ISO8859-10 拉丁语 6 北欧语 ISO8859.part10
ISO8859-11 拉丁/泰语 ISO8859.part11
ISO8859-13 拉丁语 7 波罗的海沿岸语 ISO8859.part13
ISO8859-14 拉丁语 8 凯尔特语 ISO8859.part14
ISO8859-15 拉丁语 9 ISO8859.part15
ISO8859-16 拉丁语 10 东南欧语 ISO8859.part16

示例

文件转换为希伯来语文本

if
    let path = Bundle.main.path(forResource: "Hebrew-Text", ofType: "txt"),
    let hebrewTextData = try? Data(contentsOf: URL(fileURLWithPath: path)),
    let string = String(hebrewTextData, iso8859Encoding: ISO8859.part8)
{
    print(string)
}

数据转换为土耳其语文本

let turkishTextData = Data(bytes: [84, 252, 114, 107, 231, 101])
if let string = String(turkishTextData, iso8859Encoding: ISO8859.part9) {
    print(string) // Returns "Türkçe"
}

UInt8 字节数组转换为希腊语文本

let greekTextbytes: [UInt8] = [0xE1, 0xE2, 0xE3, 0xE4]
if let string = String(greekTextbytes, iso8859Encoding: ISO8859.part7) {
    print(string) // Returns "αβγδ"
}

安装

Swift Package Manager

在您的 Package.swift 文件中添加 ISO8859 作为依赖项

import PackageDescription

let package = Package(
    dependencies: [
        .package(url: "https://github.com/Cosmo/ISO8859.git", from: "1.1.0"),
    ]
)

手动

只需将源文件拖到您的项目中即可。

联系方式

其他项目

许可证

ISO8859 在 MIT 许可证下发布。