在哪里可以找到“参考条形码”来验证条形码库输出?

时间:2010-03-20 10:22:12

标签: java .net delphi barcode code128

这个问题与“最佳”barcode库推荐无关,我们在不同平台上使用各种产品,需要一种简单的方法来验证给定的条形码是否正确(根据其规格)。

我们发现条形码由不同的条形码库和互联网中的free online barcode generators以不同方式呈现的情况。例如,Delphi报告库的新版本将Code128中的非数字字符输出为“0”,或者只是在文本区域中跳过它们。在我们进行迁移之前,我们想要检查这些更改是否是由新库中的实现中断引起的,因此我们可以将此作为错误报告给作者。

我们主要需要Code128和UCC / EAN-128与A / B / C子码。

我到目前为止检查的在线资源是:

它们也显示不同的结果,例如支持逗号或加号等字符,至少在人类可读的文本中。

2 个答案:

答案 0 :(得分:11)

对于Code128,没有一个正确的答案。如果您使用Code128-A,您可以获得与Code128-C不同的结果。结果我的意思是它的外观。以“803150”为例。在Code128-A中,您需要6个字符(+ start,checksum,stop)来表示此数字。 Code128-C只包含数字,因此您可以将两位数字压缩成一个字符。因此,您只需要3个字符(+ start,checksum,stop)来表示相同的数字。条形码看起来会有所不同(在这种情况下A会更长),但是如果你扫描它们,它们都会给出正确的数字。

此外,Code128不需要只是A,B或C.您实际上可以组合不同的子集。这对于诸如“US123457890”的情况是常见的,其中Code128-A或B用于“US”并且Code128-C用于剩余数字。这有时被称为Code-128 Auto,或者只是Code-128。结果是宽度方面的“压缩”条形码。您可以使用A / B表示相同的数据,但同样可以为您提供更长的条形码。

选择两台在线发电机:

我推荐第一个,您可以在Auto / A / B / C之间进行选择。以下是说明差异的示例图片:

alt text http://i41.tinypic.com/17bwh3.gif

在IDAutomation上,Auto是默认值,而A是Barcodes-Inc上的默认值。两者都是正确的,您只需要小心在比较输出时选择的子集。我还建议使用条形码阅读器进行开发以测试输出。另外,请参阅this page以获取具有ASCII值的不同子集的比较。我还发现grandzebu.net很有用,它也有一个免费的Code128字体。

听起来你的Delphi库总是使用Code128-C,因为它只能代表这个子集中的数字。

答案 1 :(得分:0)

为什么不扫描它们并查看返回的内容?