条形码字段长度

时间:2010-04-18 00:02:17

标签: barcode

我正在写一些考勤软件。每位会员都将拥有一张带有条形码的身份证,用于登录活动。条形码字段应该在我的数据库中多长时间?我想接受Code 39和Code 128条形码。我知道这些是可变长度代码,那么我应该将最大长度设置为?

谢谢!

编辑:我的客户将使用各种第三方条码打印工具。

4 个答案:

答案 0 :(得分:7)

代码128可以执行128个ASCII字符,因此将最大长度设置为128(或更高,这并不重要)。

让我澄清最后的陈述。变量文本字段将使用每个字符1个字节(或更多用于Unicode类型字段,但暂时忽略它们)加上一些开销。根据数据库的不同,这个开销可能只有1-4个字节或多达16个或更多。

但重点是,如果您在VARCHAR(128)字段或VARCHAR(1000)字段中存储100个字符,它仍会使用完全相同的空间

您遇到的唯一问题是行限制。这也与数据库有关。例如,在某些情况下,整行最多只能占用64K,因此所有尺寸的总和不能超过。除此之外没关系。

答案 1 :(得分:6)

理论上对Code 128没有限制,但是,例如,应用规范之一(GS1)设定了实际限制:

GS1-128最多包含48个字符(不包括特殊字符)或最多6.5“(包括安静区域)。此限制基于先到者。

来源:GS1-128 Symbol Specifications

答案 2 :(得分:5)

这些格式可以轻松编码大量数字,肯定比您需要的唯一ID更多。那么问题不仅仅是,你的身份证有多长?有10位数吗?然后10个字符。或者如果它们是数字ID,您甚至不应该存储为字符串。使用数字SQL类型。

答案 3 :(得分:-3)

Code 39限制为43个字符。在全ASCII码39中符号0-9,A-Z,"。"," - "和空间与他们在Code 39中的陈述相同。