背景: 前段时间时间公司开发的项目其中有个模块是要将原有产品(比如某个厂商的衣服吊牌)的条形码信息(也就是UPC-a编码)转化成无线射频识别的EPC编码,供RFID应答器读取。但是这部分之前也没有接触过,所以从GS1世界编码规范开始了解,总算是有所收获。所以记录下相关知识点。

| UPC和epc
upc是之前用的全球唯一标识码,比如,条形码—>UPC码为12位数字构成,其中UPC码第一位和最后一位为固定字符,2-6位为制造商信息,7-11为产品信息。

epc是目前推广的射频识别的码,可以存储的信息更多,慢慢要替换上面的upc。这个EPC目前编码的二进制格式有96 位、170位等多种,其中版本号(Header)是固定的8位,其余三段数据的长度是不固定的,以SGTIN-96编码方式为例,我们有SGTIN-96编码30.7800190.000060.000000010,其中30是版本号,7800190是域名管理码,均由EPC组织决定的,而对象种类000060和序列号000000010是由公司管理者决定的。96位的EPC码:307800190000060000000010(每个数字4位)。

| 概念

GIS全世界通用的一种编码规范。GTIN编码就是GIS规范下对贸易货品的编码。根据组成结构的不同分为-8,-12,-13,-14等,相应的GTIN编码之间通过补0可以进行转化。使用0开头的GS1前缀用于GTIN-12编码(UPC前缀用于变-12),非0的开始的GS1前缀用于编-13.(这种情况下就直接给的GS1前缀,就直接给的GS1编码,然后再去转换,不用像给的upc然后upc转GS1了)。当数据载体(比如二维码)要求我们的GTIN长度必须是多少位,不足的就补(也就限定了只能升级不能降级).

| upc-a 12(GTIN-12) ,ean13(GTIN-13)

都是条形码,一个12位组成,一个13位组成。


| upc转化成epc

upc-a12为例:

  1. 分离upc,去掉最后一位数字。

  2. 在头部补0。

  3. 在公司前缀和商品信息间加一个indicator digit用于表示目前商品所处的级别。

  4. 在末尾加序列号(唯一的数字字符串)

    以上4步操作后得到的就是epc的Data部分。


EPC共有6块信息,还有header(固定值48),+filter(过滤器,用于给阅读器区分读取或者忽略哪些标签)+partition

5. filter和partition要去GS1/EPCglobal标签数据标准表查找相应的数值补上。partion决定了前缀和item的位数。先将uri格式的编码转化成二进制,然后再对二进制的进行分割。
6. upc就是GNIT-12?然后补0变-13?然后这样转?

总结:前缀固定,filter根据情况选择,partition由前缀位数确定,后面就是主要信息。
业务中,就是从excel表中去获取数据,校验数据是否符合要求,然后根据以上学习的转换规则编写一个utils工具类去给转码用,然后由业务层调用就可。

| 继续学习总结

EPC编码体系中的SGTIN是一种基于EAN.UCC来的。所以GTIN转码的时候都是往SGTIN转,SGTIN也就是EPC。

GTIN是对一个特定的产品是类的单位,EPC是直接标识到一个产品是个体。

所有的SGTIN表示法都支持14位GTIN格式(注意是所有的SGTIN格式表示法,也就是说-12,-13都得转成-14,然后再往epc去转)。

目前理解到的就是指示位为0的所有-12,-13的GTIN都能转成EPC格式。

所以就是SGTIN就是GTIN加一个序列码组成的。

所以就是目前只能upc去转,因为ean-13这个补码体系最终还没有确定。然后ean-14就不能转。

其他编码体系比如十进制的SSCC也可以转epc。

接下来可以研究的就是SGTIN198的情况了。

你知道二维码是什么码吗?目前流行的无线射频识别用的又是什么编码呢?它俩如何转换呢?相关推荐

  1. 一维OTSU法、最小交叉熵法、二维OTSU法及C++源码

    1.最大类间方差法(Otsu法) 该算法是日本人Otsu提出的一种动态阈值分割算法.它的主要思想是按照灰度特性将图像划分为背景和目标2部分,划分依据为选取门限值,使得背景和目标之间的方差最大.(背景和 ...

  2. 活码二维码免费平台有哪些呢?

    活码二维码又叫动态二维码,动态二维码是将用户的数据都存放在公有云上,而运营云服务需要一定维护成本,目前市面上绝大多数的动态二维码品牌都需要付费的. 二维彩虹二维码生成器可以制作动态二维码和静态二维码两 ...

  3. Java如何生成花里胡哨的二维码

    目录 一.序言 二.找资料 1.寻觅文档 2.寻觅代码 三.代码示例 1.简单的二维码 2.带颜色的二维码 3.带logo的二维码 四.工具类封装 一.序言 之前在做头马演讲俱乐部哼哈官可视化汇报报告 ...

  4. 导航二维码怎么生成?

    行业会议线上邀请函.企业宣传手册.请帖上会看到导航二维码,微信或手机内置扫码程序扫一扫便可以跳转到举办会议的具体位置.公司所在位置.喜宴/生日宴/party位置,然后连接到手机所在地图软件,计算扫码时 ...

  5. 用Python制作各种用途的二维码

    当你提到二维码时,大多数人想到的是仓库管理或产品标签等 "工业 "应用,但这篇文章在很大程度上是关于二维码的个人和社会用途. 有趣的事实 二维(QR)码是在1994年发明的,最近几 ...

  6. 关于二维码的一些基础知识和问题

    什么是二维条码/二维码: 二维条码/二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧 ...

  7. 如何掌握二维码的扫描数据?

    产品推广.获取用户画像.品牌宣传.市场营销.获客引流等,每一个环节都需要真实精准的数据支持.众所周知,随着流量竞争愈加激烈,数据增长成为衡量企业进步指标.社交达人影响力的最直观体现. 大家为获取真实有 ...

  8. 条码/二维码种类大全

    一维条码种类 条码种类很多,常见的大概有三十多种码制,其中包括:Code39码(标准39码).Codabar码(库德巴码).Code25码(标准25码).ITF25码(交叉25码).Matrix25码 ...

  9. 二维码原理、制作和识别

    参考: 二维码(QR code)基本结构及生成原理(附标准下载) 二维码到底是怎么被识别的?黑白小方块又是怎么储存数据的? 一.矩阵式二维条码QR 矩阵式二维条码(又称棋盘式二维条码) QR码的设计理 ...

最新文章

  1. Datawhale来交大啦!
  2. ButterKnife源码解析
  3. COMMUNITY SERVER 的架构分析
  4. python @修饰符_Python基础(面向对象之类成员与修饰符)
  5. String类及其构造器和常用方法
  6. python与数据处理_python数据处理:数据合并和Reshaping
  7. FreeMarker中文API手冊(完整)
  8. 计算机科学与技术 课表 武汉,欢迎访问武汉理工大学计算机科学与技术学院
  9. Android使用SurfaceView实现墨迹天气的风车效果
  10. python基础语法训练
  11. 电脑网速,详细教您电脑网速慢怎么办
  12. matlab洛伦兹吸引子,用Matlab求解洛伦兹方程
  13. 数字货币智能合约:分析以太坊信标链
  14. excel2007/2010中独立显示窗体的方式
  15. 特征级融合_自动驾驶系统入门(七)- 多传感器信息融合(MSIF)
  16. phpwind 安装教程图文说明
  17. 使用J-Flash烧录固件
  18. [企业信息化大家学系列]制造业税务成本
  19. 数据预处理--缺失值填补《菜菜学习笔记》
  20. Git版本回退的两种方式_艾孜尔江撰

热门文章

  1. python爬取拉勾网给定关键词职位信息存入数据库_Python 爬取拉勾网python职位信息...
  2. P9-Windows与网络基础-Windows基本命令-文本操作(type、findstr)
  3. firm,company, corporation, enterprise, group等的区别
  4. Oracle从周一到周日的日期排序
  5. 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
  6. 使用神经网络和深度学习构造围棋智能算法:实现棋盘落子编码
  7. 小谈网易云音乐----API
  8. ROS张瑞雷老师布置作业第一天作业
  9. 使用java Apache poi 根据word模板生成word报表
  10. 计算机体系结构实验报告