当前位置: 首页 > 面试题库 >

Swift中字节数组的NSData

涂羽
2023-03-14
问题内容

我正在尝试NSData var从字节数组创建一个。

在Obj-C中,我可能这样做:

NSData *endMarker = [[NSData alloc] initWithBytes:{ 0xFF, 0xD9 }, length: 2]

我无法弄清楚Swift中的等效功能。


问题答案:

NSData有一个带有bytes指针的初始化程序:init(bytes: UnsafeMutablePointer <Void>, length: Int)。一个UnsafePointer参数可以接受多种不同的东西,包括一个简单的斯威夫特阵列,所以你可以使用几乎相同的语法在Objective-C。传递数组时,需要确保将其标识为UInt8数组,否则Swift的类型推断将假定您要创建一个Int数组。

var endMarker = NSData(bytes: [0xFF, 0xD9] as [UInt8], length: 2)

您可以在Apple的与C
API交互的
文档中阅读有关不安全指针参数的更多信息。



 类似资料:
  • 问题内容: 如何在Python中表示字节数组(如Java中的byte [])?我需要使用gevent通过电线发送它。 问题答案: 在Python 3中,我们使用对象,在Python 2中也称为。 我发现使用该模块更方便… 您还可以使用文字…

  • 问题内容: 使用Swift,我想将字节从uint8_t数组转换为整数。 “ C”示例: 快速尝试: 从Swift中的UInt8数组创建UInt16值的正确语法或代码是什么? 我对NSData版本感兴趣,并且正在寻找不使用临时数组的解决方案。 问题答案: 如果您想通过,它将像这样工作: 或者: 两种变体都假定字节按主机字节顺序排列。 Swift 3(Xcode 8)更新:

  • 问题内容: 我有一个功能: 排队 resultArray.append(tempDict) 我有一个错误: 调用中缺少参数“ ccomments”的参数 为什么?请帮助.... 问题答案: 在我看来,就像对待元组有点像可变参数,并试图扩展元组以匹配其自身的参数。它抱怨您的第二个参数,因为它只期待一个。我没有在任何地方看到这种行为的记录,因此我想说这是Swift中的错误。 使用追加运算符似乎没有这个

  • 问题内容: 我在将Byte数组快速转换为字符串时遇到问题。我搜索并找到一个简单的解决方案 但是显示错误没有成员。谁能建议我解决方案? 这是我要获取的代码,并将其转换为字节数组,然后我必须将该字节数组转换为字符串。 问题答案: Swift 3 / Xcode 8 更新 : 来自的字符串: 来自的字符串: Swift 2 / Xcode 7 更新 : 来自的字符串: 来自的字符串: 先前的答案: 没有

  • 问题内容: 我试图理解一个到字符串,一个的字符串表示形式到转换…我将我的转换成一个要发送的字符串,然后我希望我的Web服务(用python编写)将数据直接回显给客户端。 当我从Java应用程序发送数据时… 字节发送.. 发送(这是Arrays.toString()的结果,它应该是我的字节数据的字符串表示形式,该数据将通过电线发送): 在python端,python服务器将字符串返回给调用方(我可以

  • 问题内容: 给定一个字节数组,我如何在其中找到(较小)字节数组的位置? 使用,该文档看起来很有希望,但是如果我正确的话,那只会让我在要搜索的数组中找到一个单独的字节。 (我认为这并不重要,但以防万一:有时搜索字节数组将是常规的ASCII字符,有时是控制字符或扩展的ASCII字符。因此使用String操作并不总是合适的) 大数组可能在10到10000个字节之间,而小数组大约在10个字节。在某些情况下