Swiftpack.co - Cosmo/ISO8859 as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Cosmo/ISO8859
πŸŒβ©πŸ“„ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS.
.package(url: "https://github.com/Cosmo/ISO8859.git", from: "1.1.0")

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

Other Projects

  • BinaryKit β€” BinaryKit helps you to break down binary data into bits and bytes and easily access specific parts.
  • Clippy β€” Clippy from Microsoft Office is back and runs on macOS! Written in Swift.
  • GrammaticalNumber β€” Turns singular words to the plural and vice-versa in Swift.
  • HackMan β€” Stop writing boilerplate code yourself. Let hackman do it for you via the command line.
  • SpriteMap β€” SpriteMap helps you to extract sprites out of a sprite map. Written in Swift.
  • StringCase β€” Converts String to lowerCamelCase, UpperCamelCase and snake_case. Tested and written in Swift.
  • TinyConsole β€” TinyConsole is a micro-console that can help you log and display information inside an iOS application, where having a connection to a development computer is not possible.

License

ISO8859 is released under the MIT License.

GitHub

link
Stars: 17
Last commit: 1 week ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Release Notes

1.1.0
2 years ago

Added latest SPM compability and updated to Swift 5.1

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics