iOS swift中字节的等效数据类型是什么?

时间:2018-05-24 17:37:47

标签: java swift

在Java中,我们有一个名为byte的数据类型,但在Swift中没有byte数据类型可用。

在下面的示例中,我使用byte数据类型对ASCII(0xAF = 175)值进行了类型化。

byte abyte = (byte) 0xAF;

结果是abyte= -89

我如何在Swift中实现这一目标?

2 个答案:

答案 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))
    }
}