iOS/Swift库提供一个包含空结束字符串的Data对象。当通过调用String将其转换为String(data: dataInstance, encoding: .utf8)时,返回的String以"\0"结尾。现在的问题是,如何在不附加“0”的情况下将Data实例转换为String?也就是说,如何在末尾省略空终止字符?
尝试只是.trimmingCharacters(in: .whitespacesAndNewlines)没有任何效果,所以你的建议是非常感谢的。谢谢。
发布于 2022-10-19 19:06:05
您可以执行一些指针操作,并使用init(cString:)初始化器,它接受一个以空结尾的字符串。
let resultString = data.withUnsafeBytes { buffer in
guard let pointer = buffer.baseAddress?.assumingMemoryBound(to: CChar.self) else {
return ""
}
return String(cString: pointer)
}https://stackoverflow.com/questions/74130250
复制相似问题