11

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

谢谢!

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

4

4 回答 4

8

通用 Code 128 符号系统没有任何限制,但例如,应用规范之一 (GS1) 设置了实际限制:

GS1-128条码尺寸特点:

  • 最大物理长度为 165.10 毫米(6.500 英寸),包括静区。
  • 单个符号中的最大数据字符数为 48。

GS1 通用规范第 5.4.1 节:“GS1-128 符号系统特征”。

此答案中提供了一个演示代码 128 大小约束的示例。

于 2014-01-27T19:41:08.380 回答
6

这些格式可以轻松地对大量数字进行编码,这肯定超过了您对唯一 ID 的需要。那么问题不只是,您的 ID 有多长?10位数够吗?然后是 10 个字符。或者,如果它们是数字 ID,您甚至不应该存储为字符串。使用数字 SQL 类型。

于 2010-04-20T08:56:43.067 回答
6

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

让我澄清一下最后的陈述。可变文本字段将使用每个字符 1 个字节(对于 Unicode 类型字段或更多,但我们暂时忽略这些)加上一些开销。该开销可能少至 1-4 个字节,也可能多至 16 个或更多,具体取决于数据库。

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

您遇到的唯一问题是行限制。这也取决于数据库。例如,在某些情况下,整行最多只能占用 64K 大小,因此所有大小的总和不能超过该大小。除此之外无所谓。

于 2010-04-18T00:07:18.107 回答
-3

代码 39 限制为 43 个字符。在完整的 ASCII 代码 39 中,符号 0-9、AZ、“.”、“-”和空格与它们在代码 39 中的表示相同。

于 2015-07-11T12:29:51.600 回答