我在swift中将UInt8
字节数组转换为字符串时遇到了问题。我已经找到了一个简单的解决方案
String.stringWithBytes(buff, encoding: NSUTF8StringEncoding)
但它显示错误String.type
没有成员stringWithBytes
。有人能给我一个解决方案吗?
这是我的代码,我得到一个NSData
,并将其转换为字节数组,然后我必须将该字节数组转换为字符串。
let count = data.length / sizeof(UInt8)
var array = [UInt8](count: count, repeatedValue: 0)
data.getBytes(&array, length:count * sizeof(UInt8))
String.stringWithBytes(buff, encoding: NSUTF8StringEncoding)
发布于 2016-07-17 17:25:42
Swifty解决方案
array.reduce("", combine: { $0 + String(format: "%c", $1)})
十六进制表示法:
array.reduce("", combine: { $0 + String(format: "%02x", $1)})
发布于 2020-04-17 02:52:49
Swift 5.2.2更新:
String(decoding: yourByteArray, as: UTF8.self)
发布于 2016-04-27 06:15:19
这对我很有效:
String(bytes: bytes, encoding: NSUTF8StringEncoding)
https://stackoverflow.com/questions/29643986
复制相似问题