【问题标题】:Converting a string to UTF 8将字符串转换为 UTF 8
【发布时间】:2015-10-28 23:22:26
【问题描述】:

我目前有一个字符串数组,我想将其转换为 UInt8 数组?所有字符串都是 UInt8 的,但是我只能将它作为字符串检索。有什么想法吗?

let stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"

我将数组中的每个项目都拆分为单独的部分,我只是不知道如何将字符串转换为 UInt8。

谢谢

【问题讨论】:

    标签: arrays swift swift2 uint8t


    【解决方案1】:

    这行得通:

    var stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"
    
    stringValues = stringValues.stringByReplacingOccurrencesOfString("[", withString: "").stringByReplacingOccurrencesOfString("]", withString: "").stringByReplacingOccurrencesOfString(" ", withString: "")
    
    var values = [UInt8]()
    print(stringValues)
    for item in stringValues.componentsSeparatedByString(",") {
        if let value = UInt8(item) {
            values.append(value)
        }
    }
    

    【讨论】:

      【解决方案2】:
      let stringValues = "[185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]"
      let uint8Values = stringValues.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString:" ,\"[]"))
          .filter { !$0.isEmpty}.flatMap{ UInt8($0) }
      

      【讨论】:

        【解决方案3】:

        试试这个

        对于单个String 转换为UInt8

        let unt = UInt8("231")

        或者你可以使用完整的数组作为UInt8的数组。

        let stringValues :[UInt8] = [185, 221, 199, 111, 152, 137, 41, 137, 223, 66, 75, 132]

        【讨论】:

          猜你喜欢
          • 2013-03-02
          • 2012-12-05
          • 2012-02-20
          • 2015-04-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多