Base16
Swift 的 Data
类型的扩展,用于处理十六进制(Base16)编码。
安装
Swift 包管理器
将依赖项添加到 https://github.com/metabolist/base16.git
,您可以在 Xcode 中进行操作,或者在 Package.swift
中的 dependencies
数组中添加。
dependencies: [
.package(name: "Base16", url: "https://github.com/metabolist/base16.git", .upToNextMajor(from: "1.0.0"))
],
用法
Base16 向 Data
添加了与 Foundation 中处理 Base64 编码数据函数相对应的功能
let data = Data([182, 239, 215, 173, 251, 168, 76, 252,
140, 7, 39, 163, 56, 255, 171, 35,
121, 205, 26, 252, 53, 166, 159, 67,
100, 70, 140, 79, 47, 26, 138, 209])
data.base16EncodedString() // returns "b6efd7adfba84cfc8c0727a338ffab2379cd1afc35a69f4364468c4f2f1a8ad1"
data.base16EncodedString(options: [.uppercase]) // returns "B6EFD7ADFBA84CFC8C0727A338FFAB2379CD1AFC35A69F4364468C4F2F1A8AD1"
data.base16EncodedData() // returns the same thing as `base16EncodedString()` as UTF-8 data
data.base16EncodedData(options: [.uppercase]) // returns the same thing as `base16EncodedString(options: [.uppercase])` as UTF-8 data
try Data(base16Encoded: "b6efd7adfba84cfc8c0727a338ffab2379cd1afc35a69f4364468c4f2f1a8ad1") // equivalent to `data` variable above
try Data(base16Encoded: "B6EFD7ADFBA84CFC8C0727A338FFAB2379CD1AFC35A69F4364468C4F2F1A8AD1") // equivalent to `data` variable above
// The above initializers also exist for Base16 encoded UTF-8 `Data`
将数据编码为 Base16 字符串的常见用例是表示在 application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
中接收到的 deviceToken
,以注册推送通知的应用程序。
许可
Base16 在 MIT 许可下发布。 查看 LICENSE 了解详细信息。