Class DataBlock

java.lang.Object
com.google.zxing.datamatrix.decoder.DataBlock

final class DataBlock extends Object

Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into multiple blocks, each of which is a unit of data and error-correction codewords. Each is represented by an instance of this class.

  • Field Details

    • numDataCodewords

      private final int numDataCodewords
    • codewords

      private final byte[] codewords
  • Constructor Details

    • DataBlock

      private DataBlock(int numDataCodewords, byte[] codewords)
  • Method Details

    • getDataBlocks

      static DataBlock[] getDataBlocks(byte[] rawCodewords, Version version)

      When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them. That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This method will separate the data into original blocks.

      Parameters:
      rawCodewords - bytes as read directly from the Data Matrix Code
      version - version of the Data Matrix Code
      Returns:
      DataBlocks containing original bytes, "de-interleaved" from representation in the Data Matrix Code
    • getNumDataCodewords

      int getNumDataCodewords()
    • getCodewords

      byte[] getCodewords()