【问题标题】:How can I print the content of a variable of type Data using Swift? [duplicate]如何使用 Swift 打印数据类型变量的内容? [复制]
【发布时间】:2016-10-17 13:52:39
【问题描述】:

我要做的就是获取一个字符串并获取它的十六进制值。我一直在关注这个post。这是我在操场上的代码:

let str = "Say Hello to My Little Friend"
let data = str.data(using: String.Encoding.utf16)
print("\(data!)")

但是,我的代码只是打印:

“60 字节\n”

如何打印十六进制值?作为参考,应该是:

5361792048656c6c6f20746f204d79204c6974746c6520467269656e64

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    由于Data 是 UInt8 的序列,您可以将每个字节映射到一个字符串,然后将它们连接起来:

    data.map { String(format: "%02x", $0) }.joined()
    

    【讨论】:

    • 我比公认的答案更喜欢这个,因为它让程序员可以完全控制输出格式。
    • var dataMap = data.map { String(format: "%02x", $0)}.joined(); print("(dataMap)")
    【解决方案2】:

    只是

    print(data! as NSData)
    

    PS:您预期的 hex 是 .utf8

    【讨论】:

      猜你喜欢
      • 2014-07-23
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      相关资源
      最近更新 更多