ConvertBase64/ConvertFromBase64.cs
+6
-2
diff --git a/ConvertBase64/ConvertFromBase64.cs b/ConvertBase64/ConvertFromBase64.cs
index b33f8c4..ef09193 100644
@@ -1,6 +1,5 @@
using System;
using System.Management.Automation;
using System.Text;
namespace ConvertBase64;
@@ -15,8 +14,13 @@ public sealed class ConvertFromBase64 : Cmdlet
#nullable restore
[Parameter()]
[ValidateSet("UTF7", "UTF8", "UTF32", "ASCII", "Unicode", "BigEndianUnicode", IgnoreCase = false)]
public string Encoding { get; set; } = "UTF8";
protected override void ProcessRecord()
{
WriteObject(Encoding.UTF8.GetString(Convert.FromBase64String(Payload)));
var encoding = EncodingHelper.GetTextEncoding(Encoding);
WriteObject(encoding.GetString(Convert.FromBase64String(Payload)));
}
}
ConvertBase64/ConvertToBase64.cs
+6
-2
diff --git a/ConvertBase64/ConvertToBase64.cs b/ConvertBase64/ConvertToBase64.cs
index 9fac76a..8a5e385 100644
@@ -1,6 +1,5 @@
using System;
using System.Management.Automation;
using System.Text;
namespace ConvertBase64;
@@ -15,8 +14,13 @@ public sealed class ConvertToBase64 : Cmdlet
#nullable restore
[Parameter()]
[ValidateSet("UTF7", "UTF8", "UTF32", "ASCII", "Unicode", "BigEndianUnicode", IgnoreCase = false)]
public string Encoding { get; set; } = "UTF8";
protected override void ProcessRecord()
{
WriteObject(Convert.ToBase64String(Encoding.UTF8.GetBytes(Payload)));
var encoding = EncodingHelper.GetTextEncoding(Encoding);
WriteObject(Convert.ToBase64String(encoding.GetBytes(Payload)));
}
}
ConvertBase64/EncodingHelper.cs
+19
-0
diff --git a/ConvertBase64/EncodingHelper.cs b/ConvertBase64/EncodingHelper.cs
new file mode 100644
index 0000000..206e8b4
@@ -0,0 +1,19 @@
using System;
using System.Text;
namespace ConvertBase64;
public static class EncodingHelper
{
public static Encoding GetTextEncoding(string encoding) =>
encoding switch
{
"UTF7" => Encoding.UTF7,
"UTF8" => Encoding.UTF8,
"UTF32" => Encoding.UTF32,
"ASCII" => Encoding.ASCII,
"Unicode" => Encoding.Unicode,
"BigEndianUnicode" => Encoding.BigEndianUnicode,
_ => throw new ArgumentException($"Unrecognized encoding \"{encoding}\".", nameof(encoding)),
};
}