字符串数组到Int8数组字节TypeCasting

时间:2016-05-05 04:49:00

标签: arrays swift bytearray

我正在使用的代码,但它显示了一个错误,无法调用带有参数列表string.utf8view

的类型数组的初始值设定项

帮助我将字符串转换为signed int byte array

 static func stringToByteArray(string : String)-> Array<Int8> 
  {
        let array: [Int8] = Array(string.utf8)
        //print("string array \(array)")
        return array

    }

1 个答案:

答案 0 :(得分:2)

使用此方法首先将数组转换为无符号整数,然后转换为带符号数组,因为没有方法可以将无符号数组直接转换为带符号数组。

 func stringToByteArray(string : String)-> Array<Int8>
    {
        let array: [UInt8] = Array(string.utf8)
        var arraySigned = [Int8]()
        var convertSigned: Int8!
        for element in array
        {
            convertSigned = Int8(bitPattern: element)
            arraySigned.append(convertSigned)
        }

        print("string array \(arraySigned)")
        return arraySigned

    }