SwiftASCII

License: MIT

为 Swift 提供的 ASCIIStringASCIICharacter 类型,提供验证以及从 String 的有损转换。

完整的单元测试覆盖率。

入门指南

  1. SwiftASCII 可以作为一个 Swift 包使用,可以作为依赖项添加到你的应用程序或包中。

    • 在 Xcode 应用程序项目或框架中,使用此 URL 将包依赖项添加到你的目标。

      https://github.com/orchetect/SwiftASCII

    • 在 Swift 包中,将其添加到 Package.swift 依赖项中

      .package(url: "https://github.com/orchetect/SwiftASCII", from: "1.1.5")
  2. 导入库

    import SwiftASCII

ASCIIString

// failable init
ASCIIString(exactly: "An ASCII String.") // succeeds
ASCIIString(exactly: "Ãñ ÂŚÇÏÎ Strïńg.") // nil

// lossy string conversion making ASCII-compatible substitutions
ASCIIString("An ASCII String.") // "An ASCII String." (unchanged)
ASCIIString("Ãñ ÂŚÇÏÎ Strïńg.") // "An ASCII String." (substituted)

// lossy string conversion through String literal type inference
let str: ASCIIString = "Ãñ ÂŚÇÏÎ Strïńg."
print(str) // "An ASCII String." (substituted)
let asciiString = ASCIIString("ÂŚÇÏÎ")

// returns typed as String
asciiString.stringValue // "ASCII"

// returns Data representation of string
asciiString.rawData // Data([0x41, 0x53, 0x43, 0x49, 0x49])

ASCIICharacter

// failable init
ASCIICharacter(exactly: "A") // succeeds
ASCIICharacter(exactly: "") // nil

// lossy string conversion making ASCII-compatible substitutions
ASCIICharacter("A") // "A" (unchanged)
ASCIICharacter("Ã") // "A" (substituted)

// lossy character conversion through Character literal type inference
let char: ASCIICharacter = "Ä"
print(char) // "A" (substituted)

// failable ASCII integer literal init
ASCIICharacter(65) // "A"
ASCIICharacter(300) // nil
let asciiString = ASCIICharacter("Ä")

// returns typed as Character
asciiString.characterValue // Character("A")

// returns ASCII integer literal
asciiString.asciiValue // 65

// returns Data representation of character
asciiString.rawData // Data([0x41])

作者

由一群穿着风衣并自称 @orchetect 的 🐹 仓鼠编写。

许可证

根据 MIT 许可证获得许可。有关详细信息,请参阅 LICENSE

贡献

欢迎贡献。请随时发布 Issue 进行讨论。