在Java中,我们有一个名为byte
的数据类型,但在Swift中没有byte
数据类型可用。
在下面的示例中,我使用byte
数据类型对ASCII(0xAF = 175)值进行了类型化。
byte abyte = (byte) 0xAF;
结果是abyte= -89
我如何在Swift中实现这一目标?
答案 0 :(得分:5)
数据类型是Unsigned Int 8(UInt8)。
var byte:UInt8 = 0xAF
对于一个字节字符串:
var bytes:[UInt8] = [0xAF,0xAB]
对于来自数据的字节:
var data = Data()
var bytes = data.bytes //[UInt8]
答案 1 :(得分:0)
快速字节为[UInt8],UInt8为0 ... 255,Int8为-128〜127,您可以使用以下代码获得与Java字节一样的Int8值。
extension UInt8 {
var int8: Int8 {
return Int8(self > 127 ? Int(self) - 256 : Int(self))
}
}