一个零成本、类型安全的 Swift ASCII 字符表示,具有全面的格式化选项和便捷的实用程序。
将以下内容添加到您的 Package.swift
文件中
let package = Package(
// name, platforms, products, etc.
dependencies: [
// other dependencies
.package(url: "https://github.com/besya/ascii.git", from: "1.0.1"),
],
targets: [
.target(name: "<library>", dependencies: [
// other dependencies
.product(name: "ASCII", package: "ASCII"),
]),
// other targets
]
)
import ASCII
let bracket = ASCII.leftBracket
ASCII(91) == ASCII.leftBracket // true
ASCII(UInt8(91)) == ASCII.leftBracket // true
ASCII("[") == ASCII.leftBracket // true
let CSI: [ASCII] = [.escape, .leftBracket]
let sgrBoldSequence: [ASCII] = CSI + [.digit1, .m]
let sgrItalicSequence: [ASCII] = CSI + [.digit3, .m]
let sgrResetSequence: [ASCII] = CSI + [.digit0, .m]
let boldOn: String = sgrBoldSequence.map(String.init).joined()
let italicOn: String = sgrItalicSequence.map(String.init).joined()
let reset: String = sgrResetSequence.map(String.init).joined()
print(boldOn + "Hello," + reset + italicOn + " World!")
// Prints: **Hello,** _World!_
bracket // ASCII
bracket.int // Int(91)
bracket.decimal // UInt8(91)
bracket.binary // StaticString("01011011")
bracket.hexadecimal // StaticString("5B")
bracket.octal // StaticString("133")
bracket.unicode // StaticString("\u{005B}")
bracket.escaped // StaticString("\\u{005B}")
bracket.htmlEntity // StaticString("[")
ASCII.leftBracket == 91 // true
91 == ASCII.leftBracket // true
UInt8(90) < ASCII.leftBracket // true
ASCII.leftBracket <= UInt8(92) // true
ASCII.A.isDigit // false
ASCII.A.isLetter // true
ASCII.A.isControl // false
ASCII.A.isLowercase // false
ASCII.A.isUppercase // true
ASCII.A.isPrintable // true
ASCII.A.isWhitespace // false
ASCII.A.isAlphanumeric // true
该项目采用 MIT 许可证。有关更多信息,请参见 LICENSE 文件。
欢迎贡献!请随时提交 Pull Request。