Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cosmo/iso8859
πβ©π Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS.
https://github.com/cosmo/iso8859
encoding iso iso8859 macos swift tvos watchos
Last synced: about 2 months ago
JSON representation
πβ©π Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS.
- Host: GitHub
- URL: https://github.com/cosmo/iso8859
- Owner: Cosmo
- License: mit
- Created: 2016-12-05T18:40:42.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-10-13T13:36:32.000Z (about 3 years ago)
- Last Synced: 2024-10-02T07:04:07.885Z (3 months ago)
- Topics: encoding, iso, iso8859, macos, swift, tvos, watchos
- Language: Swift
- Homepage:
- Size: 44.9 KB
- Stars: 18
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ISO8859
Convert ISO8859 1-16 Encoded Text to String in Swift.
## Usage
```swift
let encoding = ISO8859.part1
let string = String([...], iso8859Encoding: encoding)
```[See Examples](#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
```swift
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
```swift
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
```swift
let greekTextbytes: [UInt8] = [0xE1, 0xE2, 0xE3, 0xE4]
if let string = String(greekTextbytes, iso8859Encoding: ISO8859.part7) {
print(string) // Returns "Ξ±Ξ²Ξ³Ξ΄"
}
```## Installation
### [Swift Package Manager](https://swift.org/package-manager)
Add `ISO8859` as a dependency in your `Package.swift` file:
```swift
import PackageDescriptionlet 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
* Devran "Cosmo" Uenal
* Twitter: [@maccosmo](http://twitter.com/maccosmo)
* LinkedIn: [devranuenal](https://www.linkedin.com/in/devranuenal)## Other Projects
* [BinaryKit](https://github.com/Cosmo/BinaryKit) β BinaryKit helps you to break down binary data into bits and bytes and easily access specific parts.
* [Clippy](https://github.com/Cosmo/Clippy) β Clippy from Microsoft Office is back and runs on macOS! Written in Swift.
* [GrammaticalNumber](https://github.com/Cosmo/GrammaticalNumber) β Turns singular words to the plural and vice-versa in Swift.
* [HackMan](https://github.com/Cosmo/HackMan) β Stop writing boilerplate code yourself. Let hackman do it for you via the command line.
* [SpriteMap](https://github.com/Cosmo/SpriteMap) β SpriteMap helps you to extract sprites out of a sprite map. Written in Swift.
* [StringCase](https://github.com/Cosmo/StringCase) β Converts String to lowerCamelCase, UpperCamelCase and snake_case. Tested and written in Swift.
* [TinyConsole](https://github.com/Cosmo/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](http://www.opensource.org/licenses/MIT).