【问题标题】:how to get some data from the type any in swift如何快速从任何类型中获取一些数据
【发布时间】:2021-03-18 15:54:43
【问题描述】:

我有一个类型为 Any 的变量,当我打印该变量时,看起来我有一个如下所示的 json 对象:

var machineNumber: Any

NSLog("Machine number: \(machineNumber)")

结果是:

Machine number: {length = 29, bytes = 0xab002a05 0803073c 6b43fefe 6b3c0000 ... 00000000 00000000 }

我的问题是,如何从 Any 类型的变量中获取字节。

感谢任何帮助!

【问题讨论】:

标签: ios swift


【解决方案1】:

这是您为 NSData 获得的字符串格式。假设它确实是一个 NSData,你可以将它转换为一个 Data。 (然后,理想情况下,在您的定义中将 Any 替换为 DataAny 会造成很大的麻烦。)

if let data = machineNumber as? Data {
    // use `data` for the bytes
}

【讨论】:

  • 如果我这样做然后记录结果,我只能得到机器号:29 字节,我怎样才能从中得到字节的实际值。
  • 如果您希望字节为十六进制字符串,请参阅stackoverflow.com/questions/39075043/…。如果要将字节作为 base64 字符串,请使用 .base64EncodedString(options:)。如果您希望字节为 UTF-8 编码字符串,请使用 String(data:encoding:)。如果您想要实际字节,则将数据用作集合。
猜你喜欢
  • 1970-01-01
  • 2021-03-08
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-04
  • 2021-01-19
  • 2015-09-06
相关资源
最近更新 更多