条形码字段长度

bes*_*nce 9 barcode

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

谢谢!

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

cle*_*tus 7

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

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

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

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

  • 如果我错了,请纠正我,但是这篇[wiki文章](http://en.wikipedia.org/wiki/Code_128)说Code 128可以编码所有128个ascii字符,而不是长度为128个字符.我们的数据库中的条形码长度为25个字符,我们没有任何抱怨. (11认同)
  • 现在有[太多怀疑](http://stackoverflow.com/questions/2660560/barcode-field-length/2660568#comment29063478_2660568)(包括我的)约128个字符限制.所以也许是时候纠正你的陈述或提供128字符限制的来源了. (2认同)

小智 6

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

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

来源:GS1-128符号规格

  • @TerryBurton是的,但祝你好运,扫描一个9英尺宽的条形码. (3认同)

Sea*_*wen 5

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