Hex serialization

This extension set our standard for all of combined functionality under single context.

let randomString = UUID().uuidString // "B1869BBC-44DE-4814-8F4C-BF55F96D67A3"
guard let data = randomString.data(using: .utf8) else { return }

let encodedWithoutPrefix = data.hex.encode() // "42313836394242432d343444452d343831342d384634432d424635354639364436374133"
// includePrefix = false by default
let encodedWithPrefix = data.hex.encode(includePrefix: true) // "0x42313836394242432d343444452d343831342d384634432d424635354639364436374133"

let hexDecodedData = randomString.hex.decode() // [66, 49, 56, 54, 57, 66, 66, 67, 45, 52, 52, 68, 69, 45, 52, 56, 49, 52, 45, 56, 70, 52, 67, 45, 66, 70, 53, 53, 70, 57, 54, 68, 54, 55, 65, 51]
let stringFromData = hexDecodedData.hex.encode(includePrefix: true) // "B1869BBC-44DE-4814-8F4C-BF55F96D67A3"

Last updated