简体   繁体   English

在Swift中将NSData转换为String

[英]NSData to String in Swift

My NSData length is 20 bytes. 我的NSData长度是20个字节。 Like 喜欢

<7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF> <7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF>

But every time when it runs to this code would return nil. 但是每次运行此代码时,都会返回nil。

let stringData: String = NSString(data: nsdata, encoding: NSUTF8StringEncoding) as String

Can anybody help me solve this question? 有人可以帮我解决这个问题吗?

Thanks. 谢谢。

You can use .description() on nsdata variable to get exact same string as above: "<7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF>": 您可以在nsdata变量上使用.description()来获得与上述完全相同的字符串:“ <7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF 7FFF7FFF>”:

nsdata.description() 

but is that really what you want? 但这真的是您想要的吗? Maybe you want to parse it or something like that? 也许您想解析它或类似的东西? For that kind of solution you will need to provide more deatils. 对于这种解决方案,您将需要提供更多细节。

Converted from hex to string I get: "ÿÿÿÿÿÿÿÿÿÿ" so I assume that this is some kind of message that you want to decode. 从十六进制转换为字符串,我得到:“ÿÿÿÿÿÿÿÿÿÿ”,因此我假设这是您要解码的某种消息。

EDIT: 编辑:

You could extract bytes into the array with: 您可以使用以下命令将字节提取到数组中:

Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>(data.bytes), count: data.length))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM