为什么 Data 和 NSData 打印不同 [英] Why Data and NSData print differently

查看:96
本文介绍了为什么 Data 和 NSData 打印不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我敢肯定,这会指出我的知识差距.但我在 S.O.知识库和查看基础代码对我没有任何启发.

基本问题:为什么 Swift 的 Data 打印与 NSData 不同?

例如

func getData(_ data:Data) {print("TLV 是:\(data as NSData)")}

印刷品:

TLV 是:<020101>

但是……

func getData(_ data:Data) {print("TLV 是:\(data)")}

印刷品:

TLV 为:3 个字节

谢谢.

解决方案

来自 Swift 3 的数据没有内置"方法来将其内容打印为十六进制字符串,或从十六进制字符串创建数据值."

rmaddy 是对的.

另见:

Swift 中的十六进制/二进制字符串转换

This will, I'm sure, point out my knowledge gap. But I don't seen anything about this in the S.O. knowledge banks and looking at the foundation code has not shed any light for me.

Basic question: why does Swift's Data print differently than NSData?

e.g.

func getData(_ data:Data) {
    print("The TLV was: \(data as NSData)")
}

prints:

The TLV was: <020101>

But ...

func getData(_ data:Data) {
    print("The TLV was: \(data)")
}

prints:

The TLV was: 3 bytes

Thanks.

解决方案

"Data from Swift 3 has no "built-in" method to print its contents as a hex string, or to create a Data value from a hex string."

rmaddy was right.

Also see:

hex/binary string conversion in Swift

这篇关于为什么 Data 和 NSData 打印不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆