繁体   English   中英

快速从UInt8转换为String

[英]conversion from UInt8 to String in swift

我正在迅速将以下UInt8数组转换为String并每次都为零。我该怎么办? 请帮我。

[ 201, 201, 87, 200, 204 ]
let decData = NSData(bytes: mydata, length: Int(mydata.count) )
let result1 = NSString(data: decData, encoding: NSUTF8StringEncoding)

编辑:我正在使用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)")

给定一个UInt8数组:

let letters: [UInt8] = [201, 201, 87, 200, 204]

我们可以先将其映射到一个Character数组中:

let characters = letters.map { Character(UnicodeScalar($0)) }

然后,我们只调用需要[Character]String构造函数:

let result = String(Array(characters))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM