相关疑难解决方法(0)

如何在Swift 2中将十六进制字符串解析为ascii等效项

在swift 2中,将十六进制字符串转换为ascii等价物的最佳方法是什么.

特定

let str1 = "0x4d 0x4c 0x4e 0x63"
let str2 = "4d 4c 4e 63"
let str3 = "4d4c4e63"
let str4 = "4d4d 4e63"
let str5 = "4d,4c,4e,63"
Run Code Online (Sandbox Code Playgroud)

我们想运行一个吐出的函数(或字符串扩展名):'MLNc',它是十六进制字符串的ascii等价物

伪代码:

  • 删除所有"垃圾",逗号空间等
  • 获取"2个字符块",然后将这些字符转换为与之等效的int strtoul
  • 构建一个字符数组并将它们合并为一个字符串

部分实施

func hexStringtoAscii(hexString : String) -> String {

    let hexArray = split(hexString.characters) { $0 == " "}.map(String.init)
    let numArray = hexArray.map{  strtoul($0, nil, 16)  }.map{Character(UnicodeScalar(UInt32($0)))}
    return String(numArray)
}
Run Code Online (Sandbox Code Playgroud)

这部分实现是否在正确的路径上?如果是这样,处理分块的最佳方法是什么?

regex string xcode swift swift2

4
推荐指数
1
解决办法
2889
查看次数

Swift中的十六进制/二进制字符串转换

Python有两个非常有用的库方法(binascii.a2b_hex(keyStr)和binascii.hexlify(keyBytes)),我一直在Swift中苦苦挣扎.Swift中有什么随处可用的吗?如果没有,将如何实现它?给定所有边界和其他检查(如偶数长度键).

python hex bin swift

2
推荐指数
1
解决办法
2449
查看次数

标签 统计

swift ×2

bin ×1

hex ×1

python ×1

regex ×1

string ×1

swift2 ×1

xcode ×1