【发布时间】:2015-11-18 23:39:01
【问题描述】:
我正在使用SwiftSocket library,并且我正在尝试将 UDP 套接字从类型“UInt8?、String、Int”接收到的数据转换为 String 类型。
let data = client.recv(1024)
let string = NSData.withBytes(data)
let str = NSString(data: string, encoding: NSUTF8StringEncoding) as String?
当我尝试这样做时,我收到以下错误:
无法将类型 '((UInt8]?,String,Int)' (aka'(Optional>, String, Int)') 的值转换为预期的参数类型 '[UInt8'
如果我打印出“数据”,我会收到以下信息:
(Optional([104, 101, 108, 108, 111]), "127.0.0.1", 34835)
其中 104,101,108,108,111 是字符串“hello”。
有没有办法将读取的数据转换成字符串?
【问题讨论】:
-
您必须将其转换为 UInt8 数组。
-
在您发布的链接中,答案是:var endMarker = NSData(bytes: [0xFF, 0xD9] as [UInt8], length: 2)。 FF和D9是什么?你能给我举个例子吗?
-
您希望如何将数据表示为字符串?
-
在我上面给出的代码中,我希望变量 str 是 'hello'
标签: swift