3

I have a HEX string d285 and I want to convert it UInt16, please guide me how I can convert it. I tried this

let buffer = UInt16("\(UInt8(text, radix: 16)!)")
return Data(bytes: (buffer?.bigEndian.toBytes)!)

but it's not working

Varun Naharia
  • 5,318
  • 10
  • 50
  • 84

2 Answers2

5

UInt16 has an initializer that takes a string and radix value. This can be used to create UInt16 from string.

let hexString = "d285"
let hexToInt = UInt16(hexString, radix: 16) // prints 53893
Puneet Sharma
  • 9,369
  • 1
  • 27
  • 33
0
let hexStr = "d285"
var byteArr = [UInt8]()
byteArr += hexStr.utf8  // Convert into byte array

let str = NSString(bytes: byteArr, length: byteArr.count, encoding: String.Encoding.utf8.rawValue)
let number = UInt(str, radix: 16)!

Hope this will help you

Nishant Bhindi
  • 2,242
  • 8
  • 21