Vapor 2.0 - 位(Bits)

前往 Vapor 2.0 - 文档目录

位(bits)包默认包含在Vapor中,为处理字节提供了方便的API。

类型(Typealias)

位包为字节提供两种类型别名。

typealias Byte = UInt8
typealias Bytes = [Byte]

BytesConvertible

当我们正在工作时,我们经常要将对象转换成字节数组。BytesConvertible有助于定义具有这些功能的对象。这在Vapor中的大多数对象上已被实现,该对象可以/应该被转换成字节数组。

let hello = String(bytes: [72, 101, 108, 108, 111])
let bytes = hello.makeBytes() 

字符串(String)

使用UTF-8编码从字节转换为字符串很容易。

let bytes = "hello".makeBytes()
let string = bytes.makeString()
print(string) // "hello"

字节(Byte)

大写和小写拉丁字母和一些附加的控制字符是静态类型的Byte

let bytes: Bytes = [.h, .e, .l, .l, .o]
print(bytes.makeString()) // "hello"

这使得字节操作和比较变得容易,对构建像解析器和序列化器这样的东西很有用。

let byte: Byte = 65
if byte == .A {
    print("found A!")
}

你可能感兴趣的:(Vapor 2.0 - 位(Bits))