交叉25条形码的具体完整编码规则,编码表
时间: 2023-10-11 20:08:35 浏览: 119
交叉25条形码是一种条形码标准,也称为ITF-25或I-25。其编码规则如下:
1. 交叉25条形码只能编码数字,长度必须为偶数。
2. 每个数字由5条线组成,其中2条是宽线,3条是窄线。
3. 每个数字之间必须有一个窄空白区分开。
4. 起始符和终止符由两个窄线和两个宽线组成。
5. 起始符和终止符分别为1010和11101。
6. 校验位为Modulo 10校验,即将每个数字的权重从右到左分别乘以1、3,交替相加后对10取余数,然后用10减去余数即可得到校验位。
例如,编码数字"12345"的过程如下:
起始符:1010
数字"1":1110010001
数字"2":1000111001
数字"3":0010111001
数字"4":1110100011
数字"5":0011100011
校验位:7(1×1+2×3+3×1+4×3+5×1=25,25÷10=2余5,10-5=5)
终止符:11101
编码结果为:10101110010001110010010111001000111000117511101
编码表如下:
数字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---- | - | - | - | - | - | - | - | - | - | - |
编码 | 00110 | 10001 | 01001 | 11000 | 00101 | 10100 | 01100 | 00011 | 10010 | 01010 |
相关问题
条形码中的工业25码的编码规则是什么?
工业25码是一种常用的线性条形码,其编码规则如下:
1. 工业25码只能包含数字,共有25个字符,包括0-9。
2. 该条形码由9个模块组成,每个模块由5个元素组成,其中3个元素为窄条,2个元素为宽条。
3. 每个字符由4个模块组成,其中开始和结束字符为窄条、宽条、窄条、窄条,其他字符由窄条、宽条、窄条、宽条组成。
4. 工业25码的校验位采用模10加权算法,分别为3、1、7、9,具体计算方法为:将字符的ASCII码值乘以对应的权值,将乘积相加,然后对10取模,用10减去模数得到校验位。
5. 工业25码的数据容量较小,只能编码数字字符,最多可编码12位数字。
使用QT creator的Qpainter生成EAN条形码,EAN条形码的编码规则应该怎么写
EAN条形码的编码规则比较复杂,但是可以通过一些公式来计算出每个数字所对应的编码。这里提供一种简单的方法,使用以下公式来计算每个数字的编码:
- 对于左侧的6位数字,将其分成3组,每组两个数字,分别计算出其编码。第一组的编码是A组,第二组的编码是B组,第三组的编码是C组。具体的计算方法可以参考EAN-13条形码的编码规则。
- 对于右侧的6位数字,将其分成2组,每组三个数字,分别计算出其编码。第一组的编码是A组,第二组的编码是C组。
这样就可以得到整个EAN条形码的编码。在QT Creator中使用QPainter生成EAN条形码的过程如下:
1. 在绘图事件中创建QPainter对象:
```
void BarcodeWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
// 绘制条形码
}
```
2. 设置绘制参数,例如条形码的宽度和高度,以及条码的起始位置:
```
int barWidth = 2;
int barHeight = 60;
int startX = 10;
int startY = 10;
```
3. 计算出每个数字的编码,并将其转换为二进制格式:
```
QString barcode = "123456789012";
QString leftCode = getLeftCode(barcode.left(6));
QString rightCode = getRightCode(barcode.right(6));
QString code = "101" + leftCode + "01010" + rightCode + "101";
```
其中,getLeftCode和getRightCode是计算左侧和右侧数字编码的方法,可以参考EAN-13条形码的编码规则。
4. 绘制条形码:
```
for (int i = 0; i < code.length(); i++) {
if (code.at(i) == '1') {
painter.fillRect(startX, startY, barWidth, barHeight, Qt::black);
} else {
painter.fillRect(startX, startY, barWidth, barHeight, Qt::white);
}
startX += barWidth;
}
```
其中,如果某个数字的二进制编码为1,则使用黑色填充,否则使用白色填充。
这样就可以使用QT Creator的QPainter生成EAN条形码了。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)