Package com.google.zxing.qrcode.encoder
Class Encoder
java.lang.Object
com.google.zxing.qrcode.encoder.Encoder
- Author:
- satorux@google.com (Satoru Takabayashi) - creator, dswitkin@google.com (Daniel Switkin) - ported from C++
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescription(package private) static voidappend8BitBytes(String content, BitArray bits, String encoding) (package private) static voidappendAlphanumericBytes(CharSequence content, BitArray bits) (package private) static voidappendBytes(String content, Mode mode, BitArray bits, String encoding) Append "bytes" in "mode" mode (encoding) into "bits".(package private) static voidappendKanjiBytes(String content, BitArray bits) (package private) static voidappendLengthInfo(int numLetters, Version version, Mode mode, BitArray bits) Append length info.(package private) static voidappendModeInfo(Mode mode, BitArray bits) Append mode info.(package private) static voidappendNumericBytes(CharSequence content, BitArray bits) static ModechooseMode(String content) static QRCodeencode(String content, ErrorCorrectionLevel ecLevel) static QRCodeencode(String content, ErrorCorrectionLevel ecLevel, Map<EncodeHintType, ?> hints) (package private) static byte[]generateECBytes(byte[] dataBytes, int numEcBytesInBlock) (package private) static intgetAlphanumericCode(int code) (package private) static voidgetNumDataBytesAndNumECBytesForBlockID(int numTotalBytes, int numDataBytes, int numRSBlocks, int blockID, int[] numDataBytesInBlock, int[] numECBytesInBlock) Get number of data bytes and number of error correction bytes for block id "blockID".(package private) static BitArrayinterleaveWithECBytes(BitArray bits, int numTotalBytes, int numDataBytes, int numRSBlocks) Interleave "bits" with corresponding error correction bytes.(package private) static voidterminateBits(int numDataBytes, BitArray bits) Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24).
-
Field Details
-
DEFAULT_BYTE_MODE_ENCODING
- See Also:
-
-
Method Details
-
encode
- Parameters:
content- text to encodeecLevel- error correction level to use- Returns:
QRCoderepresenting the encoded QR code- Throws:
WriterException- if encoding can't succeed, because of for example invalid content or configuration
-
encode
public static QRCode encode(String content, ErrorCorrectionLevel ecLevel, Map<EncodeHintType, ?> hints) throws WriterException- Throws:
WriterException
-
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
-
terminateBits
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
Append mode info. On success, store the result in "bits". -
appendLengthInfo
static void appendLengthInfo(int numLetters, Version version, Mode mode, BitArray bits) throws WriterException Append length info. On success, store the result in "bits".- Throws:
WriterException
-
appendBytes
static void appendBytes(String content, Mode mode, BitArray bits, String encoding) throws WriterException Append "bytes" in "mode" mode (encoding) into "bits". On success, store the result in "bits".- Throws:
WriterException
-
appendNumericBytes
-
appendAlphanumericBytes
- Throws:
WriterException
-
append8BitBytes
- Throws:
WriterException
-
appendKanjiBytes
- Throws:
WriterException
-