namespace Gma.QrCodeNet.Encoding;
///
/// Contain most of common constant variables. S
///
public static class QRCodeConstantVariable
{
public const int MinVersion = 1;
public const int MaxVersion = 40;
public const string DefaultEncoding = "iso-8859-1";
public const string UTF8Encoding = "utf-8";
///
/// ISO/IEC 18004:2006(E) Page 45 Chapter Generating the error correction codewords
/// Primative Polynomial = Bin 100011101 = Dec 285
///
public const int QRCodePrimitive = 285;
internal const int TerminatorNPaddingBit = 0;
internal const int TerminatorLength = 4;
///
/// 0xEC
///
internal const int PadeCodewordsOdd = 0xec;
///
/// 0x11
///
internal const int PadeCodewordsEven = 0x11;
internal const int PositionStencilWidth = 7;
internal static bool[] PadeOdd = new bool[]
{
true, true, true, false,
true, true, false, false
};
internal static bool[] PadeEven = new bool[]
{
false, false, false, true,
false, false, false, true
};
///
/// URL:http://en.wikipedia.org/wiki/Byte-order_mark
///
public static byte[] UTF8ByteOrderMark => new byte[] { 0xEF, 0xBB, 0xBF };
}