2017-10-09 3 views
1

J'ai une chaîne HEX d285 et je veux la convertir UInt16, s'il vous plaît guide moi comment je peux le convertir. J'ai essayéComment convertir une chaîne HEX en UInt16?

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

mais il ne fonctionne pas

Répondre

2

UInt16 a une initializer qui prend une valeur de chaîne et radix. Cela peut être utilisé pour créer UInt16 à partir de la chaîne.

let hexString = "d285" 
let hexToInt = UInt16(hexString, radix: 16) // prints 53893 
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)! 

espère que cela vous aidera