一维条码的编码方式

一维条码的编码方式,第1张

条形码的种类有很多,这里主要以128码为例,介绍下其编码方式,步骤如下:

128码开始于1981年退出,是一种长度可变、连续性的字母数字条码。与其他一维条码比碰掘较起来,128码是较为复杂的条码系统,而其所能支持的字元也相对比其他一维条码来的多,又芦吵枯有不同的编码方式可供交互运用,因此其应用d性比较大。

128码的内容大致分为起始码、资料码、终止码、检查码等四部分,其中检查码是可有可无的。128码陪洞的结构如图所示:

128码具有以下特性:

1.具有A、B、C三种不同的编码类型,可提供标准ASCII中128个字元的编码使用。

2.允许双向的扫描处理。

3.可自行决定是否要加上检查码。

4.条码长度可自由调整,但包括起始码和终止码在内,不可超过232个字元。

5.同一个128码,可以不同的方式多以编码。借由A、B、C三种不同编码规则的互换可扩大字元选择的范围,也可缩短编码的长度。

128码的编码方式

128码有三种不同类型的编码方式,而要选择哪种编码方式,则决定于起始码的内容。

1.起始码

2.终止码

无论是采用A、B、C哪种编码方式,128码的终止码均为固定的一种型态,其逻辑型态皆为1100011101011。

条码的编码规则与码制区分唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。

永久性:产品代码一经分配,就不再更改,并且是终身的。当此种产品不再生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。

无含义:为了保证代码有足够的容量以适应产品频繁的更新换代的需要,最好采用无含义的顺序码。

条形码的码制区别

UPC:(统一产品代码)

只能表示数字

有A、B、C、D、E四个版本

版本 A - 12 位数字

版本 E - 7 位数字

最后一位为校验位

大小是宽1.5" 高1 " ,而且背景要与清晰

主要使用于美国和加W拿大地区,用于工业、医药、仓库等部门

当UPC 作为十二位进行解码时,定义如下哪宴:

第一位 = 数字标识 (已经由UCC(统一代码委员会)所建立).

第2-6位 = 生产厂家的标识号(包括第一位)

第7-11 = 唯一的厂家产品代码

第12位 = 校验位(used for error detection)

Code 3 of 9 :

能表示字母、数字和其它一些符号共43个字符:A -Z,0 - 9,-.$/+%,pace

条码的长度是可变化的

通常用“*”号作为起始、终止符

校验码不用

代码密度介于3 - 9.4个字符/每英寸

空白区是窄条的10倍

用于工业、图书、以及圆缓掘票证自动化管理上

Code 128:

表示高密度数据, 字符串

字符串可变长

符号内含校验码

有三种不同版本: A, B, and C

可用128个字符分别在 A, B, or C 三个字符串集合中

用于工业、仓库、零售批发

Interleaved 2-of-5 (I2 of 5):

只能表示数字0 -9

可变长度

连续性条码,所有条与空都表示代码,第一个数字由条开始,第二个数字由空组成

空白区比窄条宽10倍

应用于商品批发、仓库、机场、生产/包装识别、工业中

条码的识读率高,可适用于固定条码扫描器可靠扫描

在所有一维条码中的密度最高

Codabar(库德巴条码):

可表示数字0 - 9,字符$、+、 -、还有只能用作起始/终止符的a, b, c d四个字符

可变长度

没有校验位

应用于物料管理、图书馆、血站和当前的机场包裹发送中

空白区比窄条宽10倍

非连续性条码,每个字符表示为4条3空

PDF417 (二维条码):

多行组成的条码

不需要连接一个数据库,本身可存储大量数据

应用于:医院、驾驶证、物料管理、货物运输

当条码受一定破坏时,错误纠正能使条码能正确解码

PDF417, 是Symbol科技公司于1990研制产品。它是一个多行、连续性、可变长、包含大量数据的符号橘核标识。每个条码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括所有128个字符,最大数据含量是1850个字符。

在 C# WinForm 中导出一维码到 Excel 单元格可以使用 Microsoft.Office.Interop.Excel 程序集。首先需要将该程序集添加到项目中。

首先需要在项目中添加一个引用,如下所示:

在项目上右键单击,然后选择“添加引用”。

在“添加引用”对话框中,选择“COM”选项卡,然后查找并选择“Microsoft Excel xx.x Object Library”(其中 xx.x 为 Excel 版本号)。

点击“确定”按钮以添加引用。

接下来可以使用下面渗液的代码来导出一维码到 Excel 单元格中:

using Microsoft.Office.Interop.Excel

// 省略其他代码

// 创建 Excel 应用程序对象

var excelApp = new Application()

// 添加一个新的工作簿

var workbook = excelApp.Workbooks.Add()

// 获取第一个工作表

var worksheet = workbook.Worksheets[1]

// 将一维码图像插入到指定的单元格中

worksheet.Cells[1, 1].Value = "一维码"

worksheet.Cells[1, 2].Value = "1234"

worksheet.Cells[1, 2].Formula = "=ENCODE_BARCODE(A2)"

// 保存工作簿

workbook.SaveAs("一维码.xlsx")

// 关闭工作簿并退出 Excel 应用程序

workbook.Close()

excelApp.Quit()

您可以继续使用 Microsoft.Office.Interop.Excel 程序集来实现您的需求。

下面是一个例子,展示了如何在 C# WinForm 中使用 Microsoft.Office.Interop.Excel 库来 *** 作 Excel 文件:

using Microsoft.Office.Interop.Excel

// 省略其他代码

// 创建 Excel 应用程序对象

var excelApp = new Application()

// 打开现有的工作簿

var workbook = excelApp.Workbooks.Open("文件厅绝路径")

// 获取第一个工作表

var worksheet = workbook.Worksheets[1]

// 使用 ENCODE_BARCODE 函数将数据编码为一维码,并将其插入到指定的单元格中

worksheet.Cells[1, 1].Value = "一维码"

worksheet.Cells[1, 2].Value = "1234"

worksheet.Cells[1, 2].Formula = "=ENCODE_BARCODE(A2)"

// 保存工作簿

workbook.Save()

// 关闭工作簿并退出 Excel 应用程序

workbook.Close()

excelApp.Quit()

在上面的代码中,使用了 ENCODE_BARCODE 函数将数据丛伏物编码为一维码,并将其插入到第一个工作表的指定单元格中。

请注意,在使用 Microsoft.Office.Interop.Excel 程序集时,需要确保 Excel 应用程序已经安装在计算机上,否则将无法使用该程序集。

此外,如果需要在 C# WinForm 中 *** 作 Excel 文件,可以考虑使用其他第三方库,如 ClosedXML 和 EPPlus


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12518721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存