Class Encoder


  • public final class Encoder
    extends Object
    Author:
    satorux@google.com (Satoru Takabayashi) - creator, dswitkin@google.com (Daniel Switkin) - ported from C++
    • Method Detail

      • encode

        public static QRCode encode​(String content,
                                    ErrorCorrectionLevel ecLevel)
                             throws WriterException
        Parameters:
        content - text to encode
        ecLevel - error correction level to use
        Returns:
        QRCode representing the encoded QR code
        Throws:
        WriterException - if encoding can't succeed, because of for example invalid content or configuration
      • getAlphanumericCode

        static int getAlphanumericCode​(int code)
        Returns:
        the code point of the table used in alphanumeric mode or -1 if there is no corresponding code in the table.
      • chooseMode

        public static Mode chooseMode​(String content)
      • terminateBits

        static void terminateBits​(int numDataBytes,
                                  BitArray bits)
                           throws WriterException
        Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24).
        Throws:
        WriterException
      • getNumDataBytesAndNumECBytesForBlockID

        static void getNumDataBytesAndNumECBytesForBlockID​(int numTotalBytes,
                                                           int numDataBytes,
                                                           int numRSBlocks,
                                                           int blockID,
                                                           int[] numDataBytesInBlock,
                                                           int[] numECBytesInBlock)
                                                    throws WriterException
        Get number of data bytes and number of error correction bytes for block id "blockID". Store the result in "numDataBytesInBlock", and "numECBytesInBlock". See table 12 in 8.5.1 of JISX0510:2004 (p.30)
        Throws:
        WriterException
      • interleaveWithECBytes

        static BitArray interleaveWithECBytes​(BitArray bits,
                                              int numTotalBytes,
                                              int numDataBytes,
                                              int numRSBlocks)
                                       throws WriterException
        Interleave "bits" with corresponding error correction bytes. On success, store the result in "result". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details.
        Throws:
        WriterException
      • generateECBytes

        static byte[] generateECBytes​(byte[] dataBytes,
                                      int numEcBytesInBlock)
      • appendModeInfo

        static void appendModeInfo​(Mode mode,
                                   BitArray bits)
        Append mode info. On success, store the result in "bits".