Search code examples
iosswiftarraysunsignedsigned

Swift converting signed array of Int [int8] to unsigned array of Int [UInt8]


How to convert signed array of [Int8] to unsigned array of [UInt8].

 let arryData: [Int8] =  [-108, 11, -107, -14, 35, -57, -116, 118, 54, 91, 12, 67, 21, 29, -44, 111]

I just want to convert this above into array of Unsigned [UInt8]. How to achieve this in swift.? Thanks in advance.


Solution

  • If your intention is to convert signed 8-bit integers to unsigned ones with the same bit representation (e.g. -1 -> 255):

    let intArray: [Int8] =  [0, 1, 2, 127, -1, -2, -128]
    let uintArray = intArray.map { UInt8(bitPattern: $0) }
    
    print(uintArray)
    // [0, 1, 2, 127, 255, 254, 128]