53 lines
1.2 KiB
C#
53 lines
1.2 KiB
C#
namespace Gma.QrCodeNet.Encoding;
|
|
|
|
/// <summary>
|
|
/// Contain most of common constant variables. S
|
|
/// </summary>
|
|
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";
|
|
|
|
/// <summary>
|
|
/// ISO/IEC 18004:2006(E) Page 45 Chapter Generating the error correction codewords
|
|
/// Primative Polynomial = Bin 100011101 = Dec 285
|
|
/// </summary>
|
|
public const int QRCodePrimitive = 285;
|
|
|
|
internal const int TerminatorNPaddingBit = 0;
|
|
|
|
internal const int TerminatorLength = 4;
|
|
|
|
/// <summary>
|
|
/// 0xEC
|
|
/// </summary>
|
|
internal const int PadeCodewordsOdd = 0xec;
|
|
|
|
/// <summary>
|
|
/// 0x11
|
|
/// </summary>
|
|
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
|
|
};
|
|
|
|
/// <summary>
|
|
/// URL:http://en.wikipedia.org/wiki/Byte-order_mark
|
|
/// </summary>
|
|
public static byte[] UTF8ByteOrderMark => new byte[] { 0xEF, 0xBB, 0xBF };
|
|
}
|