Swiftpack.co - Package - Cosmo/ISO8859

ISO8859

Swift 5.1 compatible License MIT

Convert ISO8859 1-16 Encoded Text to String in Swift.

Usage

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

See Examples

Supported Character Sets

| Encoding | Name | Enum | | --- | --- | --- | | ISO8859-1 | Latin 1 Western European | ISO8859.part1 | | ISO8859-2 | Latin 2 Central European | ISO8859.part2 | | ISO8859-3 | Latin 3 South European | ISO8859.part3 | | ISO8859-4 | Latin 4 North European | ISO8859.part4 | | ISO8859-5 | Latin/Cyrillic | ISO8859.part5 | | ISO8859-6 | Latin/Arabic | ISO8859.part6 | | ISO8859-7 | Latin/Greek | ISO8859.part7 | | ISO8859-8 | Latin/Hebrew | ISO8859.part8 | | ISO8859-9 | Latin 5 Turkish | ISO8859.part9 | | ISO8859-10 | Latin 6 Nordic | ISO8859.part10 | | ISO8859-11 | Latin/Thai | ISO8859.part11 | | ISO8859-13 | Latin 7 Baltic Rim | ISO8859.part13 | | ISO8859-14 | Latin 8 Celtic | ISO8859.part14 | | ISO8859-15 | Latin 9 | ISO8859.part15 | | ISO8859-16 | Latin 10 South-Eastern European | ISO8859.part16 |

Examples

File to Hebrew Text

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)
}

Data to Turkish Text

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 Bytes-Array to Greek Text

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

Installation

Swift Package Manager

Add ISO8859 as a dependency in your Package.swift file:

import PackageDescription

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

Manually

Just drag the source files into your project.

Contact

License

ISO8859 is released under the MIT License.

Github

link
Stars: 12
Help us keep the lights on

Dependencies

Used By

Total: 1

Releases

1.1.0 - Jul 11, 2019

Added latest SPM compability and updated to Swift 5.1

1.0.0 - Dec 5, 2016