matlab zxing ean13,【zxing】Ean13 Contents do not pass checksum
用zxing生成条形码,如果没对输入的内容进行判断校验码校验的话,就会报错
EAN-13商品条码中的校验符用字符集中的C子集表示,校验符的作用是检验前面12个数字是否正确,在条码机每次读入数据时,都会计算一次数据符的校验并与校验符进行比对。校验符的计算方法非常简单,将12个数据符从左起将所有的奇数位相加得出一个数a,将所有的偶数位相加得出一个数b,然后将数b乘以3再与a相加得到数c,用10减去数c的个位数,如果结果不为10则检验符为结果本身,如果为10则检验符为0。
示例
例如:690123456789
690表示国家代码:中华人民共和国
1234表示生产商代码
56789表示产品代码
计算其校验符的过程为:
奇数位和:6 + 0 + 2 + 4 + 6 + 8 = 26
偶数位和:9 + 1 + 3 + 5 + 7 + 9 = 34
将奇数位和与偶数位和的三倍相加:26 + 34 * 3 = 128
取结果的个位数:128的个位数为8
用10减去这个个位数:10 - 8 = 2
所以校验码为2
(注:如果取结果的个位数为0,那么校验码不是为10 (10 - 0 = 10),而是0。)
java 检验代码,true为条码符合规定,false反之
public static boolean checkStandardUPCEANChecksum(CharSequence s) throws FormatException {
int length = s.length();
if (length == 0) {
return false;
}
int sum = 0;
for (int i = length - 2; i >= 0; i -= 2) {
int digit = (int) s.charAt(i) - (int) '0';
if (digit < 0 || digit > 9) {
throw FormatException.getFormatInstance();
}
sum += digit;
}
sum *= 3;
for (int i = length - 1; i >= 0; i -= 2) {
int digit = (int) s.charAt(i) - (int) '0';
if (digit < 0 || digit > 9) {
throw FormatException.getFormatInstance();
}
sum += digit;
}
return sum % 10 == 0;
}
matlab zxing ean13,【zxing】Ean13 Contents do not pass checksum相关推荐
- MATLAB机器人工具箱【1】——建模+正逆运动学+雅克比矩阵
MATLAB机器人工具箱[1]-- 机械臂建模+正逆运动学+雅克比矩阵 1. 二维空间位姿描述 2. 三维空间位姿描述 3. 建立机器人模型 3.1 Link 类 3.2 SerialLink 类 3 ...
- MATLAB机器人工具箱【3】—— 动力学相关函数及用法
MATLAB机器人工具箱[3]-- 动力学相关函数及用法 1. 查看机器人动力学参数 2. 逆动力学 3. 正动力学 4. 机器人动力学方程 5. 赋予机器人动力学参数 本文在参考B站up主刘海涛大佬 ...
- matlab ezplot fplot,【转】Matlab plot fplot ezplot用法与区别
[转]Matlab plot fplot ezplot用法与区别 (2012-04-19 20:26:00) 标签: matlab fplot ezplot 数学函数 曲线 杂谈 函数plot 是绘制 ...
- matlab 求加速度,【求助】位移转加速度(谱转换法)
[求助]位移转加速度(谱转换法) 那啥,小弟初学matlab,比较菜 有这样一组数据(样本见附件) 0.3987 1.3757 -5.0000 -0.8385 0.3984 1.3759 -5.000 ...
- matlab在高等代数,【精选】MATLAB在高等代数中的应用.pdf
[精选]MATLAB在高等代数中的应用 MATLAB 在高等代数中的应用 目 录 引言 3 1.向量组的线性相关性 4 2.线性方程组 5 3.相似矩阵及二次型 6 4. 用 Matlab求方阵A 的 ...
- 基于Halcon学习的一维码识别【十三】ean13.hdev
读取EAN-13型条形码 总代码: *创建模板 create_bar_code_model ([], [], BarCodeHandle) CodeType := 'EAN-13' * dev_clo ...
- matlab 腐蚀算法,【zz】matlab 腐蚀膨胀算法
1.图像膨胀的Matlab实现: 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象.结构元素对象可以是strel函数返回的对象,也可 ...
- 串联矩阵matlab代码,Matlab串联矩阵函数【horzcat】详细解析
语法 C = horzcat(A,B) C = horzcat(A1,A2,-,An) 复制代码 输入参数 A - 第一个输入 标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表 第一个输入, ...
- matlab c++ 画图【转载】
原文:http://blog.csdn.net/owldestiny/article/details/4210177 最近有朋友问我他照着我之前的一篇文章(http://blog.csdn.net/o ...
最新文章
- TCP/IP:IP选项处理
- [LeetCode]题解(python):087-Scramble String
- 【03】json使用
- Hadoop之DataNode工作机制
- #时间预测算法_【时间序列】时序预测竞赛之异常检测算法综述
- Java GC系列(1):Java垃圾回收简介
- 【JAVA 第三章 流程控制语句】课后习题 找零钱
- python将矩阵顺时针旋转90度_python 二维数组90度旋转的方法
- STM32f407---oled屏幕配套取字模软件使用
- Android基于XMPP Smack Openfire开发IM(1)搭建openfire服务器
- 软考高级系统分析师下午历年真题
- ubuntu主题美化
- Java Se 、JavaEE、JavaME区别
- 哪个软件测试上传速度最准,哪个软件测网速准确,360怎么测网速
- Github下载速度慢 提升github下载速度最新解决方案 跟龟速说拜拜(持续更新 保证方案可行 建议收藏)
- 义隆循环左移c语言,义隆单片机EM78PXXX的乘除的运算法
- mybatis错误——java.io.IOException Could not find resource comxxxxxxMapper.xml
- 一个 JDBC 实现对 mysql 进行分页查询的 实例
- heaps 和 priority queue堆和优先队列的定义和数据结构表示
- Q2复苏慢,华米科技的“两条腿”还行吗?
热门文章
- 微信小程序为电商插上翅膀
- 【OCP|052】OCP题库更新,052最新考题及答案整理-第10题
- 网络爬虫随记:2018-03-12启(refreshing)
- Linux命令解释之chown
- Java 网络教程: ServerSocket
- 在Linux环境下安装和配置phpmyadmin
- wireshark----教你如何抓包
- System Verilog线程——fork join的理解使用
- html简易幻灯片,用html5实现的简单幻灯片实例
- 微信小程序点击按钮弹出弹窗_转载 | 广东大学生就业创业微信小程序操作流程详解(一)...