/// <summary> /// Encodes the GUID with the specified encoding. This method will throw an exception if it fails for any reason. /// </summary> /// <param name="guid">The GUID.</param> /// <param name="encoding">The encoding.</param> /// <returns>System.String</returns> public static string Encode(Guid guid, GuidEncoding encoding) { switch (encoding) { case GuidEncoding.Base32: return(Base32Url.ToBase32String(guid.ToByteArray())); case GuidEncoding.Base64: return(Base64Url.ToBase64ForUrlString(guid.ToByteArray())); case GuidEncoding.Base64Old: return(Base64Old.ToBase64ForUrlString(guid.ToByteArray())); default: throw new Exception("The encoding type is not supported!"); } }
/// <summary> /// Decodes the specified string containing a GUID. This will throw an exception if it isn't a supported /// encoding of a GUID. /// </summary> /// <param name="guid">The GUID.</param> /// <param name="encoding">The encoding method to use.</param> /// <returns>System.Guid</returns> public static Guid Decode(string guid, GuidEncoding encoding) { switch (encoding) { case GuidEncoding.Base32: return(new Guid(Base32Url.FromBase32String(guid))); case GuidEncoding.Base64: return(new Guid(Base64Url.FromBase64ForUrlString(guid))); case GuidEncoding.Base64Old: return(new Guid(Base64Old.FromBase64ForUrlString(guid))); case GuidEncoding.String: return(new Guid(guid)); default: throw new Exception("The string being passed doesn't contain a valid Guid"); } }