在Swift中将一个字节转换为char

joh*_*hni 2 byte casting char swift

我正在使用NSInputStream来读取msgs.read方法以字节为单位返回msg,与Java中的相同.我想取字节并将其打印为char(例如在Java中println((char) 97) // prints "a")

我怎么会在Swift中这样做?

谢谢.

vac*_*ama 8

这有效:

let b: UInt8 = 97

print(Character(UnicodeScalar(b)))
Run Code Online (Sandbox Code Playgroud)

如果你想让这个更干净,你可以扩展UInt8Int:

extension UInt8 {
    var char: Character {
        return Character(UnicodeScalar(self))
    }
}

extension Int {
    var char: Character {
        return Character(UnicodeScalar(self))
    }
}

print(b.char)   // prints "a"
print(98.char)  // prints "b"
Run Code Online (Sandbox Code Playgroud)