public static byte[] BinaryEncode(string Data)
{
if (Data == null)
throw new ArgumentNullException(nameof(Data));
byte[] result;
if (Data.Length == 0)
{
// Zero-length Alpha Encode (1 byte)
return new byte[] { 0x40 };
}
// Try Numeric Encode
if (TryBinaryNumericEncode(Data, out result))
{
return result;
}
// Try CASES21 ST/DF Key Encode
if (TryBinaryC21Encode(Data, out result))
{
return result;
}
// Try Alpha Encode
if (TryBinaryAlphaEncode(Data, out result))
{
return result;
}
// Use UTF8 Encoding
return BinaryUTF8Encode(Data);
}