0

I have a simple ASCII string and i want to convert it to hexadecimal (base16). I'm using xCode 7 (so i'm on IOS9) but i can't find any solution anywhere.

I tried to change the format of my string:

StringToConvert(String(format: "%02hhx", $0))

Thanks for your help :)

joern
  • 26,582
  • 7
  • 87
  • 104
Caillou
  • 1
  • 1

2 Answers2

2
"abcdefghijklmnopqrstuvwxyz0123456789".utf8.map{ $0 }.reduce("") {
    $0 + String($1, radix: 16, uppercase: false)
}

modify it by your needs

"ABCD".utf8.map{ $0 }.reduce("") {
    $0 + "0x" + String($1, radix: 16, uppercase: false) + " "
}
// 0x41 0x42 0x43 0x44
user3441734
  • 15,174
  • 2
  • 34
  • 53
0

Great answer above. Just for clarification, it's implemented like this:

let hexRepresentation = myASCIIString.utf8.map{ $0 }.reduce("") { $0 + String($1, radix: 16, uppercase: false) }
spfursich
  • 4,585
  • 3
  • 20
  • 23