/// <summary> /// Tries to encode a GUID with the specified encoding. This method will return NULL if it can't encode the GUID. /// </summary> /// <param name="guid">The GUID.</param> /// <param name="encoding">The encoding.</param> /// <returns>System.String</returns> public static string TryEncode(Guid guid, GuidEncoding encoding) { try { return(GuidHelper.Encode(guid, encoding)); } catch (Exception ex) { return(null); } }
/// <summary> /// Decodes the specified string containing a GUID. This will return NULL (instead of an exception), if the string /// does not contain an encoded GUID. /// </summary> /// <param name="guid">The GUID.</param> /// <param name="encoding">The encoding method to use.</param> /// <returns>System.Nullable<System.Guid></returns> public static Guid?TryDecode(string guid, GuidEncoding encoding) { try { return(GuidHelper.Decode(guid, encoding)); } catch (Exception ex) { return(null); } }
/// <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"); } }