namespace System.Text
{
public static partial class Base64UrlExtensions
{
///
/// Base64Url编码(ByteArray → String)
///
///
///
public static string Base64UrlEncode(this byte[] inArray)
{
ReadOnlySpan inArray_ = inArray;
return Base64UrlEncode(inArray_);
}
///
/// Base64Url编码(ByteArray → String)
///
///
///
public static string? Base64UrlEncode_Nullable(this byte[]? inArray)
{
if (inArray == default) return default;
return Base64UrlEncode(inArray);
}
///
/// Base64Url编码(String → String)
///
///
///
public static string Base64UrlEncode(this string s)
{
var inArray = Encoding.UTF8.GetBytes(s);
return Base64UrlEncode(inArray);
}
///
/// Base64Url编码(String → String)
///
///
///
public static string? Base64UrlEncode_Nullable(this string? s)
{
if (s == default) return default;
return Base64UrlEncode(s);
}
///
/// Base64Url解码(String → ByteArray)
///
///
///
public static byte[] Base64UrlDecodeToByteArray(this string s)
{
var encoded = s.AsSpan();
return Base64UrlDecodeToByteArray(encoded);
}
///
/// Base64Url解码(String → ByteArray)
///
///
///
public static byte[]? Base64UrlDecodeToByteArray_Nullable(this string? s)
{
if (s == default) return default;
return Base64UrlDecodeToByteArray(s);
}
///
/// Base64Url解码(String → String)
///
///
///
public static string Base64UrlDecode(this string s)
{
var bytes = Base64UrlDecodeToByteArray(s);
return Encoding.UTF8.GetString(bytes);
}
///
/// Base64Url解码(String → String)
///
///
///
public static string? Base64UrlDecode_Nullable(this string? s)
{
if (s == default) return default;
return Base64UrlDecode(s);
}
}
}