C# 一维码生成

简介:

概念

一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。

条形码起源于 20 世纪 40 年代,应用于 70 年代,普及于 80 年代。条码技术是在计算机应用和实践中产生并发展起来的广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通等领域的一种自动识别技术,具有输入速度快、准确度高、成本低、可靠性强等优点,在当今的自动识别技术中占有重要的地位。

不同的码制有它们各自的应用领域:
EAN 码:是国际通用的符号体系,是一种长度固定、无含意的条码,所表达的 
 
信息全部为数字,主要应用于商品标识。
39码和128码:为目前国内企业内部自定义码制,可以根据需要确定条码的长度和信息,它编码的信息可以是数字,也可以包含字母,主要应用于工业生产线领域、图书管理等。Code 39 码,是目前 用途广泛的一种条形码,可表示数字、英文字母以及“−”、“.”、“/”、“+”、“%”、“$”、 “”(空格)和“*”共 44 个符号,其中“*”仅作为起始符和终止符。既能用数字,也能用 字母及有关符号表示信息。
93码:是一种类似于39码的条码,它的密度较高,能够替代39码。
25码:主要应用于包装、运输以及国际航空系统的机票顺序编号等。
Codabar码:应用于血库、图书馆、包裹等的跟踪管理。
ISBN:用于图书管理。
 
 
识别原理:
由于不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,所以当条码扫描器光源发出的光经光阑及凸透镜1后,照射到黑白相间的条码上时,反射光经凸透镜2聚焦后,照射到光电转换器上,于是光电转换器接收到与白条和黑条相应的强弱不同的反射光信号,并转换成相应的电信号输出到放大整形电路.白条、黑条的宽度不同,相应的电信号持续时间长短也不同.但是,由光电转换器输出的与条码的条和空相应的电信号一般仅10mV左右,不能直接使用,因而先要将光电转换器输出的电信号送放大器放大.放大后的电信号仍然是一个模拟电信号,为了避免由条码中的疵点和污点导致错误信号,在放大电路后需加一整形电路,把模拟信号转换成数字电信号,以便计算机系统能准确判读.
整形电路的脉冲数字信号经译码器译成数字、字符信息.它通过识别起始、终止字符来判别出条码符号的码制及扫描方向;通过测量脉冲数字电信号0、1的数目来判别出条和空的数目.通过测量0、1信号持续的时间来判别条和空的宽度.这样便得到了被辩读的条码符号的条和空的数目及相应的宽度和所用码制,根据码制所对应的编码规则,便可将条形符号换成相应的数字、字符信息,通过接口电路送给计算机系统进行数据处理与管理,便完成了一维条码辨读的全过程。
 

源码与实现

code39的实现

  View Code

Demo2

  View Code

 

DEMO3 相关类库

请参考类库 ZXing.Net , 该类库也能实现二维码的生成,使用起来较为方便,而且开源。

 

jQuery二维条形码插件 My QR Code

jQuery条形码插件 Barcode

 

jQuery条形码插件 jQuery Barcode

jQuery生成二维条形码 jquery.qrcode.js

 

Java条形码解决方案 Barbecue

Java二维条形码开发包 QR Code Library

 

条形码生成和识别库 Aspose.BarCode

.NET条形码开发包 NetBarcodeWriter

 C语言二维条形码解析库 libqrencode

 

 条形码扫描软件 Zebra barcode reader


参考文章

 
 
 
 
 
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。





    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/7709520.html ,如需转载请自行联系原作者



相关文章
|
1月前
|
机器学习/深度学习 存储 数据处理
矩阵编码
矩阵编码
12 0
|
1月前
|
机器学习/深度学习 自然语言处理
向量的编码详解2
向量的编码详解2
16 1
|
3月前
|
JavaScript SoC
leetcode-304:二维区域和检索 - 矩阵不可变
leetcode-304:二维区域和检索 - 矩阵不可变
27 0
|
3月前
leetcode-1582:二进制矩阵中的特殊位置
leetcode-1582:二进制矩阵中的特殊位置
19 0
|
7月前
|
算法 C++
Morton码的计算
Morton码是对栅格格网进行编码的一种算法,在Google中搜索Morton,搜索结果第一位是Wikipedia的Z-order Curve,这是因为Morton码编码结果展现为一种Z形的填充曲线。下面简要说一下如何计算四进制和十进制的Morton码。
300 0
|
10月前
|
存储 算法 Python
求简单类型的矩阵和
求简单类型的矩阵和
50 0
|
10月前
循环码生成矩阵与监督 (校验) 矩阵
循环码生成矩阵与监督 (校验) 矩阵
116 0
|
PyTorch 算法框架/工具
输入一个一行张量,如何转换成概率?
将一行张量转换为概率分布的常见方法是使用 softmax 函数。softmax 函数的作用是将一个向量映射到一个新的向量,其中每个元素都在 0 到 1 之间,并且所有元素的和等于 1。因此,可以将 softmax 函数应用于一行张量,以将其转换为概率分布。
141 0
|
算法
LeetCode 73矩阵置零&74搜素二维矩阵&75颜色分类
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
100 0
LeetCode 73矩阵置零&74搜素二维矩阵&75颜色分类
|
机器学习/深度学习 算法
二维矩阵转换(多种遍历方法)
二维矩阵转换(多种遍历方法)