了解Maxicode二维码

  Maxicode是一种中等容量、尺寸固定的矩阵式二维条码,它由紧密相连的六边形模组和位於符号中央位置的定位图形所组成。Maxicode是特别为高速扫瞄而设计,主要应用於包裹搜寻和追踪上。Maxicode二维码外形近乎正方形,由位于符号中央的同心圆(或称公牛眼)定位图形 (Finder Pattern),及其周围六边形蜂巢式结构的资料位元所组成,这种排列方式使得Maxicode可从任意方向快速扫瞄。

  在条码软件中,你可以使用二维码工具绘制一个二维码后,在二维码类型的下拉菜单中选择Maxicode。

   Maxicode允许对256个国际字符编码,包括值0~127的ASCII字元和128~255的扩展ASCII字元。在数字组合模式下,可用6个字码表示9位数字。用于代码切换和其他控制字元也包括在其字元集中。每个字元由6个六边形的模组组成。每个模组表示一个二进制位,深色模组表示 “1” ,浅色模组表示 “0”。通常六个模组排成3层,顺序为右上至左下,如下图所示。

   Maxicode提供标准错误纠正(Standard Error Correction, SEC)与增强错误纠正(Extended Error Correction, EEC)两种错误纠正等级,这两种等级需要不同数量的字,提供不同水准的错误恢复能力,SEC的错误复原能力达16%,EEC则可达25%。这两种错误纠正等级的基本特性如表所示。采用哪一种错误纠正等级是由模式字元所指定。

   为了方便定位,使解码更容易,以加快扫瞄速度,Maxicode的图形大小与资料容量大小都是固定的,图形固定约1平方英吋,资料容量最多93个字元。Maxicode具有一个大小固定且唯一的中央定位图形,为三个黑色的同心圆,用于扫瞄定位。此定位图形位在资料模组所围成的虚拟六边形的正中央,在此虚拟六边形的六个顶点上各有3个黑白色不同组合式所构成的模组,称为“方位丛”(Orientation Cluster),其提供扫瞄器重要的方位资讯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maxicode is a two-dimensional barcode that is used in the shipping industry to encode information such as recipient address, shipping method, and tracking number. In order to generate Maxicode in Java, you can use a library such as ZXing (Zebra Crossing). Here's an example of how to generate a Maxicode using ZXing in Java: ``` import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.maxicode.MaxiCodeWriter; import java.util.HashMap; public class MaxicodeExample { public static void main(String[] args) { String data = "123456789"; // the data to encode int width = 300; // width of the barcode int height = 300; // height of the barcode // set up encoding hints HashMap<EncodeHintType, Object> hints = new HashMap<>(); hints.put(EncodeHintType.MAX_SIZE, 300); hints.put(EncodeHintType.MARGIN, 0); // create Maxicode writer and encode the data MaxiCodeWriter writer = new MaxiCodeWriter(); BitMatrix bitMatrix; try { bitMatrix = writer.encode(data, BarcodeFormat.MAXICODE, width, height, hints); } catch (WriterException e) { e.printStackTrace(); return; } // print the barcode as a string of asterisks for (int y = 0; y < height; y++) { StringBuilder row = new StringBuilder(); for (int x = 0; x < width; x++) { if (bitMatrix.get(x, y)) { row.append("*"); } else { row.append(" "); } } System.out.println(row); } } } ``` This code creates a Maxicode barcode with the data "123456789" and a size of 300x300 pixels. It then prints out the barcode as a string of asterisks. You can modify the data and size as needed for your specific use case.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值