为什么 Data 和 NSData 打印不同 [英] Why Data and NSData print differently
本文介绍了为什么 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 是对的.
另见:
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屋!
查看全文