Swiftpack.co - Cosmo/ISO8859 as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by Cosmo.
Cosmo/ISO8859 1.1.0
πŸŒβ©πŸ“„ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS.
⭐️ 18
πŸ•“ 2 years ago
.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: 18
Last commit: 2 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

1.1.0
4 years ago

Added latest SPM compability and updated to Swift 5.1

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