You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python生成带GS1标识(FNC1)的Data Matrix二维码失败求助

GS1标识Data Matrix生成失败解决方案

你使用的ppf.datamatrix库默认不会为GS1格式数据自动添加FNC1标识,这是生成的二维码无GS1属性的核心原因。

修复方法

核心修改逻辑

GS1规范要求Data Matrix码的首个字符必须为ASCII 29(即GS分组符,对应FNC1的编码映射),以此标记该码为GS1格式,你需要手动在原始数据前插入该字符。

修正后代码

from ppf.datamatrix import DataMatrix
# 开头插入ASCII 29作为GS1标识的FNC1起始符
data = chr(29) + '0104680059740223213(OkNQCgC*qXF91KZF092gSnuwHu7c3KkrgPhR7eWzfH5/Qg=gSnuwHu7c3KkrgPhR7eWzfH5/Qg=gSnuwHu7c3KkrgPhR7eWzfH5/Qg=gSnu'
myDataMatrix = DataMatrix(data)
# 可调用save方法直接存储生成的二维码图片
myDataMatrix.save("gs1_datamatrix.png")

验证注意事项

  • 必须使用支持GS1格式的专业条码扫描工具验证,普通消费级扫码工具(如微信、支付宝扫码)不会解析GS1特殊结构,只会输出原始字符串,无法判断FNC1是否添加成功。
  • 如果你的数据中包含可变长度的GS1应用标识符(AI),除了开头的FNC1,还需要在每个可变长度字段的末尾插入chr(29)作为字段分隔符,避免解析错位。

内容的提问来源于stack exchange,提问作者Sana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:36:08