我正在将以下 UInt8 数组快速转换为 String 并且每次都变为 nil。我应该怎么做??请帮我。
[ 201, 201, 87, 200, 204 ]
let decData = NSData(bytes: mydata, length: Int(mydata.count) )
let result1 = NSString(data: decData, encoding: NSUTF8StringEncoding)
Run Code Online (Sandbox Code Playgroud)
编辑:我使用 InflateStream/deflateStream 来压缩我的数据。deflateStream 的返回类型是 UInt8。我尝试将此值转换为字符串,以便将其发送到服务器。
这是我的代码
let string = "hello"
let data: [UInt8] = Array(string.utf8)
// compress
var deflater = DeflateStream()
var (deflated, err) = deflater.write(data, flush: true)
if err != nil{
fatalError("\(err!)")
}
print(" ***** deflater: \(deflated)")
// decompress
var inflater = InflateStream()
var (inflated, errr) = inflater.write(deflated, flush: true)
if errr != nil{
fatalError("\(errr!)")
}
print(" ***** inflated: \(inflated)")
Run Code Online (Sandbox Code Playgroud)
给定一个数组UInt8
:
let letters: [UInt8] = [201, 201, 87, 200, 204]
Run Code Online (Sandbox Code Playgroud)
我们可以首先将其映射到一个数组Character
:
let characters = letters.map { Character(UnicodeScalar($0)) }
Run Code Online (Sandbox Code Playgroud)
然后我们只需调用String
期望的构造函数[Character]
:
let result = String(Array(characters))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3267 次 |
最近记录: |