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
  • 27,354
  • 7
  • 90
  • 105
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
  • 16,722
  • 2
  • 40
  • 59
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
  • 5,045
  • 3
  • 21
  • 24