十六进制到十进制 - 斯威夫特

Joe*_*yLD 16 hex swift

对不起,如果这看起来很简单,我就是无法在网上找到它.

我有一个十六进制的UInt8,我需要得到一个十进制.我如何在swift中实现这一目标?

例如:

"FF"

谢谢

Rob*_*Rob 39

如果您有字符串表示,则"ff"可以使用UInt8(_:radix:):

let string = "ff"
if let value = UInt8(string, radix: 16) {
    print(value)
}
Run Code Online (Sandbox Code Playgroud)


Leo*_*bus 5

您可以使用函数 strtoul 将十六进制转换为十进制:

let result = UInt8(strtoul("ff", nil, 16))  // 255
Run Code Online (Sandbox Code Playgroud)

  • @JoeBayLD您_不_获取字符串表示形式,然后将其转换为二进制。使用 getBytes 直接获取二进制数据。 (2认同)

Jay*_*kar 5

试试这个代码,它对我有用。

// 十六进制转十进制

let h2 = "ff"
let d4 = Int(h2, radix: 16)!
print(d4) 
Run Code Online (Sandbox Code Playgroud)

希望这对某人有帮助