Как разобрать строку hex в эквивалент ascii в Swift 2
В 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"
мы хотели бы запустить функцию (или расширение строки), которая выплевывает: '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)
}
Это частичная реализация на правильном пути? И если да, то как лучше всего справиться с порцией