译者:陈广
日期:2021-1-6
本节讲述EPC Tag URI是如何被编码为二进制串,以及如何将一个二进制串解码为EPC Tag URI(如果可能的话)。如第14.5.13节所规定,本文中编码和解码过程定义的二进制串适用于Gen 2 标签的EPC内存区。
将EPC Tag URI编码为Gen 2标签EPC内存区的二进制内容的完整过程在15.1.1节中描述。第15.1.1节中的过程使用第14.3节中定义的过程来完成大部分工作。相反,将Gen 2标签EPC内存区的二进制内容解码为EPC Tag URI(或EPC Raw URI,如果可能)的完整过程在15.2.2中描述。第15.2.2节中的过程使用第14.3.9节中定义的过程来完成大部分工作。
标签上使用的EPC二进制编码的一般结构是一个比特串(即二进制表示),由一个固定长度的首部和一系列域组成,这些域的总长度、结构和功能由首部值决定。第14.2节规定了指定的首部值。
EPC Tag URI和二进制编码之间的转换过程在14.3节(将URI编码为二进制)和14.3.9节(将二进制解码为URI)中规定。编码和解码程序均由第14.4.9节规定的编码表驱动。每个编码表对于给定的首部值,都在其后指定了域结构。
要将一个EPC Tag URI转换为EPC二进制编码,请遵循第14.3节中指定的过程,该过程总结如下。首先,在14.4.9节的表中选择合适的编码表。正确的编码表是其“URI Template”条目与给定的EPC Tag URI匹配的表。编码表中的每一列对应于最终二进制编码中的位域。在每一列中,指定一个“编码方法”,说明如何计算二进制编码的相应位,给定URI的某些部分作为输入。每个“编码方法”的编码细节在第14.3节的小节中给出。
要将EPC二进制编码转换为EPC Tag URI,请遵循第14.3.9中的过程,该过程总结如下。首先,在EPC二进制首部表(第14.2节的表14-1)中查找最高有效8位。这标识了EPC编码方案,而EPC编码方案又从第14.4.9节规定的编码表中选择一个编码表。编码表中的每一列对应于输入二进制编码中的一个位域。在每一列中,指定一个“编码方法”,说明如何计算输出URI的相应部分,给定的位域作为输入。第14.3.9节小节给出了每种“编码方法”的解码细节。
标签上使用的EPC二进制编码的一般结构是作为位串(也就是二进制表现形式),由一个固定长度、8-bit首部跟随一组域组成,其总长度、结构以及功能由首部值决定。为了将来的扩展目的,定义了首部值11111111,以指示使用了超过8位的更长的首部;这为将来的扩展提供了条件,以便通过使用更长的首部可以容纳256个以上的首部值。因此,本规范提供了多达255个8位首部,加上当前未确定数量的更长首部。
非标提示:反向兼容性说明:在以前版本的标签数据标准中,首部的长度是可变的,使用分层方法,其中每层中的零值表示首部是从下一个较长的层提取的。对于早期规范中定义的编码,首部是2位或8位。假设保留零值以指示下一个较长层中的首部,则2位首部有3个可能值(01、10和11,而不是00),8位首部有63个可能值(认为前2位必须是00,并保留00000000以允许首部长于8位)。两位首部仅与某些64位EPC二进制编码一起使用。
在这个版本的标签数据标准中,分层首部方法已经被放弃。此外,所有64位编码(包括使用2位首部的所有编码)都已弃用,不应在新应用程序中使用。为了促进有序的转换,在该版本的标签数据标准中保留先前由64位编码占用的首部空间的部分,目的是在“日落之日”已经过去之后回收它们。在“日落之日”后,包含带有2位首部的64位EPC的标签和带有以 00001 开头的64位首部的标签将不再被正确解释。
本次版本的EPC标签数据标准中定义的编码结构如表14-1所示。本表还指示了当前未分配的首部值-“保留未来使用”。EPCglobal先前于2006年7月1日宣布,为EPC标签数据标准的早期版本中定义的遗留64位编码保留的所有首部值均于2009年7月1日起生效。
首部值(二进制) | 首部值(十六进制) | 编码长度(bit) | 编码结构 |
---|---|---|---|
0000 0000 | 00 | NA | 未编程标签 |
0000 0001 0000 001x 0000 01xx |
01,02,03,04,05,06,07 | NA NA NA NA |
保留将来使用 保留将来使用 保留将来使用 保留将来使用 |
0000 1000 | 08 | 保留将来使用 | |
0000 1001 | 09 | 保留将来使用 | |
0000 1010 | 0A | 保留将来使用 | |
0000 1011 | 0B | 保留将来使用 | |
0000 1100 至 0000 1111 | 0C 至 0F | 保留将来使用 | |
0001 0000 至 0010 1011 | 10 至 2B | NA | 保留将来使用 |
0010 1100 | 2C | 96 | GDTI-96 |
0010 1101 | 2D | 96 | GSRN-96 |
0010 1110 | 2E | 96 | GSRNP |
0010 1111 | 2F | 96 | USDoD-96 |
0011 0000 | 30 | 96 | SGTIN-96 |
0011 0001 | 31 | 96 | SSCC-96 |
0011 0010 | 32 | 96 | SGLN-96 |
0011 0011 | 33 | 96 | GRAI-96 |
0011 0100 | 34 | 96 | GIAI-96 |
0011 0101 | 35 | 96 | GID-96 |
0011 0110 | 36 | 198 | SGTIN-198 |
0011 0111 | 37 | 170 | GRAI-170 |
0011 1000 | 38 | 202 | GIAI-202 |
0011 1001 | 39 | 195 | SGLN-195 |
0011 1010 | 3A | 113 | GDTI-113(DEPERCATED as of TDS 1.9) |
0011 1011 | 3B | 可变 | ADI-var |
0011 1100 | 3C | 96 | CPI-96 |
0011 1101 | 3D | 可变 | CPI-var |
0011 1110 | 3E | 174 | GDTI-174 |
0011 1111 | 3F | 96 | SGCN-96 |
0100 0000 | 40 | 110 | ITIP-110 |
0100 0001 | 41 | 212 | ITIP-212 |
0100 0010 至 0111 1111 | 42 至 7F | 保留将来使用 | |
1000 0000 至 1011 1111 | 80 至 BF | 保留将来使用 | |
1100 0000 至 1100 1101 | C0 至 CD | 保留将来使用 | |
1100 1110 | CE | 保留将来使用 | |
1100 1111 至 1110 0001 | CF 至 E1 | 保留将来使用 | |
1110 0010 | E2 | 为了避免与TID内存的前八位混淆,E2永久保留(第16节)。 | |
1110 0011 至 1111 1110 | E3 至 FE | 保留将来使用 | |
1111 1111 | FF | NA | 保留将来使用(明确保留给超过8位的首部) |
以下过程将EPC Tag URI编码为包含编码的EPC和(对于具有过滤值的EPC scheme)过滤值的位串。此位串适合于存储在Gen 2 标签的EPC内存区的从20h地址开始处。参考15.1.1节获取编码整个EPC内存区的完整过程,包括驻留在编码EPC之外的控制信息(第15.1.1节中的过程使用下面的过程作为子程序。)
给定:
urn:epc:tag:scheme:remainder
形式的EPC Tag URI。得到:
过程:
scheme
标识此URI scheme。如果不存在这样的scheme,请停止:此URI在语法上不合法。以下小节指定了步骤3中使用的过程。
整数编码方法用于在URI中显示为十进制整数以及在二进制编码中显示为二进制整数的段。
输入:
编码方法的输入是编码表的“URI portion”行中表示的URI部分,这是一个没有点(.
)字符的字符串。
有效性测试: 输入字符串必须满足以下条件:
NumericComponent
。如果上述任何测试失败,则URI编码失败。
输出: 此段的编码是一个 $b$ 位 整数(如果需要,在左侧填零),其中 $b$ 为编码表“代码段比特数”行所指定的值,其值是被视为十进制整数的输入字符串的值。
字符串编码方法用于在URI中显示为字母数字字符串以及在二进制编码中显示为ISO 646(ASCII)编码的段。
输入:
编码方法的输入是编码表的“URI portion”行指示的URI部分,这是一个没有点(.
)字符的字符串。
有效性测试:
GS3A3Component
。%
字符后跟两个十六进制数字组成的3字符序列),%
字符后面的两个十六进制字符必须映射到表A-1中指定的82个允许字符之一。如果上述任何测试失败,则URI编码失败。
输出:
假设输入为一个由零个或多个字符 $s_1 s_2 ... s_n$ 组成的字符串,其中每个字符 $s_1$ 要么是单个字符,要么是匹配语法转义产生的3个字符序列(即,由%
字符后跟两个十六进制数字组成的3字符序列)。将每个字符转换为7-bit字符串。对于单个字符,对应的7-bit字符串在表A-1中指定。对于转义序列,7-bit字符串被认为是7-bit整数的两个十六进制字符的值。将这些7-bit字符串按照与输入相对应的顺序串联起来,然后根据需要在右侧填充零位,以获得总的 $b$ 位,其中 $b$ 是在编码表的“代码段比特数”行中指定的值。(填充位的数目将是 $b–7N$。)得到的 $b$ 位字符串就是输出。
分区表编码方法用于在URI中显示为一对由点(“.”)字符分隔的可变长度数字字段的段,以及在二进制编码中显示为一个3-bit“分区”域,后跟两个可变长度二进制整数的字段。两个URI域中的字符总数总是恒定的字符数,二进制编码中的位数总和也是恒定的位数。
分区表编码方法使用一个“分区表”。此特定分区表在给定EPC scheme的编码表中指定。
输入:
编码方法中输入的是编码表中“URI portion”行中指示的 URI portion。它是由点(.
)字符分隔的两个数字字符串组成。在这个编码过程中,点左边和右边的数字串分别表示为 $C$ 和 $D$。
有效性测试: 输入必须满足以下条件:
PaddedNumericComponent
的语法。PaddedNumericComponentOrEmpty
的语法。输出: 通过连接以下三个组件来构造输出位串:
得到的位串长度为($3+M+N$),它总等于此段在编码表中“代码段比特数”列所指示的值。
非填充分区表编码方法用于在URI中显示为一对由点(.
)字符分隔的可变长度数字域组成的段,以及在二进制编码中显示为一个3-bit“分区”域,后跟两个可变长度二进制整数的段。两个URI域中的字符数始终小于或等于已知限制,二进制编码中的位数始终为常量。
非填充分区表编码方法使用一个“分区表”,此特定分区表在给定EPC scheme的编码表中指定。
输入:
编码方法的输入是编码表中“URI portion”行中指示的URI portion。它是由点(.
)字符分隔的两个数字字符串组成。在这个编码过程中,点左边和右边的数字串分别表示为 $C$ 和 $D$。
有效性测试: 输入必须满足以下要求:
PaddedNumericComponent
的语法。NumericComponent
的语法。输出: 通过以下三个组件构造输出位串:
得到的位串长度为($3+M+N$),它总等于此段在编码表中“代码段比特数”列所指示的值。
字符串分区表编码方法用于一个段,在URI中,此段是由点(.
)字符分隔的可变长数字域和可变长字符串域组成;在二进制编码中,此段为3-bit“分区”域后跟一个可变长度二进制整数和一个可变长度二进制编码字符串。两个URI域的字符个数总是小于或等于已经限制(将3字符转义序列作为单个字符),并且如果需要恒定的位数,将对二进制编码进行填充。
字符串分区表编码方法使用一个“分区表”,此特定分区表在给定EPC scheme的编码表中指定。
输入:
编码方法的输入为编码表中“URI protion”行中指示的URI protion。它由两个由点(.
)字符分隔的字符串组成。在这个编码过程中,点左边和右边的字符串分别表示为 $C$ 和 $D$。
有效性测试: 输入必须满足以下条件:
PaddedNumericComponent
的语法。GS3A3Component
的语法。%
字符后跟两个十六进制数字组成的三字符序列)相匹配的 $D$ 的每个部分,%
字符之后的两个十六进制数字必须映射为表A-1所允许的82个字符之一。输出: 通过连接以下三个组件构造输出位字符串:
%
字符其后跟随两个十六进制数字组成)。将每个字符转化为7-bit字符串。对于单个字符,相应的7-bit字符串在表A-1中指定。对于转义序列,7-bit字符串被认为是7-bit整数的两个十六进制字符的值。将这些7位字符串按与输入对应的顺序连接起来,然后在必要时用零填充,以达到总计 $N$ 位。得到的位串长度为($3+M+N$),它总等于此段在编码表中“代码段比特数”列所指示的值。
数字串编码方法用于在URI中显示为数字字符串的段,可能包含前导零。在二进制编码中,通过在编码之前在数字串前加一个数字“1”,可以保留前导零。
输入:
编码方法的输入是编码表的“URI portion”行所指示的URI portion,它是一个没有点(.
)字符的字符串。
有效性测试: 输入字符串必须满足以下条件:
PaddedNumericComponent
的语法。如果上述测试出现任何失败,URI编码失败。
输出: 按如下方式构造输出位:
6-bit CAGE/DODAAC编码方法用于在URI中作为5字符CAGE码或6字符DODAAC显示的段,或者在二进制编码中作为36-bit编码位串。
输入:
编码方法的输入是编码表的“URI portion”行所指示的URI portion,为一个无点(.
)字符的5或6位字符串。
有效性测试: 输入字符串必须满足以下条件:
CAGECodeOrDODAAC
的语法。如果以下测试失败,则URI编码失败。输出: 假设输入的是一个5或6个字符的字符串 $d_1 d_2 ... d_N$,其中每个字符 $d_i$ 是单个字符。使用表G-1(G)将每个字符转换为6-bit字符串。按输入的顺序连接这些6-bit字符串。如果输入为5个字符,则在结果左侧加上6-bit值100000。得到的36-bit字符串就是输出。
6-bit可变串编码方法用于在URI中作为字符串域出现的段,或在二进制编码中作为可变长度空结尾二进制编码字符串出现的段。
输入: 编码方法的输入是编码表中“URI portion”行指示的URI portion。
有效性测试: 输入必须满足以下条件:
%nn
)计为一个字符。%
字符后加两个十六进制数字组成的3字符序列),则%
字符之后的两一个十六进制字符必须映射为表G-1(G)指定的字符之一,并且这样映射的字符必须满足编码表中为该编码段指定的任何其他约束。输出:
假设输入的是一个0或多字符字符串 $s_1 s_2 ... s_N$,其中每个字符$s_i$要么是单个字符,要么是与语法产生的转义相匹配的3字符序列(也就是由一个%
字符后跟两个十六进制数字组成的3字符序列)。将每个字符转换为6-bit字符串。对于单个字符,对应的6-bit字符串在表G-1(G)中指定;对于转义序列,对应的6-bit字符串在表G-1(G)中通过查找“URI形式”列中的转义序列指定。按输入的顺序连接这些6-bit字符串,然后添加6个零(000000)。
结果位串为可变长度,但它总是最小为6-bit,且总是6-bit的倍数。
6-bit可变串分区表编码方法用于在URI中作为通过点(.
)字符分隔的可变长数字域及可变长字符串域显示的段;以及在二进制编码中作为3-bit“分区”域后跟一个可变长二进制整数和一个空结尾二进制编码字符串显示的段。两个URI域的字符数量总是小于等于已知限制(3字符转义序列计为单个字符),并且二进制编码中的位个数也小于或等于已知限制。
6-bit可变串分区表编码方法使用分区表,此特定分区表在给定EPC scheme的编码表中指定。
输入:
编码方法的输入为编码表的“URI portion”列所指定的URI portion。它由一个点(.
)字符所分隔的两个字符串组成。编码过程中,点左边和右边的字符串分别表示为 $C$ 和 $D$。
有效性测试: 输入必须满足以下条件:
%nn
)计为一个字符。%
字符后跟两个十六进制数字组成的3字符序列),%
字符后面的两个十六进制字符必须映射到表G-1(G)中指定的39个允许字符之一。输出: 通过连接以下三个组件构造输出位串:
%
和其后的两个十六进制数字组成)。将每个字符转换为6-bit字符串。对于单个字符,对应的6-bit字符串在表G-1(G)中指定。对于一个转义序列,6-bit字符串是被视为6-bit整数的两个十六进制字符的值。按输入顺序连接这些6-bit字符串,然后添加6个零。得到的位串的长度是($3+M+N$),它总是小于等于编码表中所示的该段的最大“代码段比特数”。
定长整数编码方法用于在URI中显示为填零十进制整数的段,以及在二进制编码中显示为二进制整数的段。
输入:
编码方法的输入是编码表中“URI portion”行指示的URI protion,它是一个没有点(.
)字符的全数字字符串。
有效性测试: 输入字符串必须满足以下条件:
PaddedNumericComponent
的语法。如果上述任何测试失败,则URI编码失败。
输出: 此段的编码为一个 $b$-bit整数(如果需要,在左侧填零),其中,$b$ 是在编码表的“代码段比特数”行中指定的值,其值是被视为十进制整数的输入字符串的值。
此过程将Gen 2标签的EPC内存区中从位 $20_h$ 开始的位串解码为EPC Tag URI。引过程仅解码EPC和过滤值(如果可以)。15.2.2节给出了解码EPC内存区整个内容的完整过程,包括存储在被编码EPC之外的控制信息。15.2.2节的过程将被用于大多数应用程序。(第15.2.2节中的过程使用下面的过程作为子程序。)
给定:
得到:
urn:epc:tag:
开始的EPC Tag URI,它不包含控制信息域(如果EPC scheme包含过滤值,则包含过滤值);或过程:
urn:epc:tag:
,编码表中指定的scheme名称,一个冒号(.
)字符,步骤4获得的字符串,在相邻字符串之间插入点(.
)。以下部分指定步骤4中使用的过程。
整数解码方法用于在URI中显示为十进制整数的段,以及在二进制编码中显示为二进制整数的段。
输入: 解码方法的输入是在编码表的“比特位置”行中标识的位串。
有效性测试: 针对此解码方法不存在有效性测试。
输出: 此段的解码是一个十进制数字,其值是被视为无符号二进制整数的输入值。如果输出为两或多个长度的位,不应当开始于一个零字符。
字符串解码方法用于在URI中显示为字母数字字符串的段,以及在二进制编码中显示为ISO 646(ASCII)编码的段。
输入: 解码方法的输入是编码表的“比特位置”行所标识的位串。此位串的长度总是7的倍数。
有效性测试: 输入位串必须满足以下条件:
如果任何以上测试失败,则段解码失败。
输出:
翻译每个7-bit段,直到但不包括第一个全零段(如果有的话),通过查找表A-1的7-bit段,并使用“URI形式”列中的值,将它们转换为单个字符或3字符转义三元组。按输入位串的顺序连接字符与/或3字符三元组。结果字符串就是输出。此字符串匹配第5节语法产生的GS3A3
。
分区表解码方法用于在URI中显示为由一个点(.
)字符分隔的可变数字域的段,以及在二进制编码中显示为3-bit“分区”域后跟两个可变长二进制整数的段。两个URI域中的字符数总数始终为常量,二进制编码中的位数总和也同样为常量。
分区表解码方法使用一个“分区表”。要使用的特定分区表在给定EPC scheme的编码表中指定。
输入: 解码方法的输入是在编码表的“比特位置”行中标识的位串。逻辑上,此位串被分为三个子串,由一个3-bit“分区”值后跟两个可变长子串组成。
有效性测试: 输入必须满足以下条件:
输出: 通过连接以下三个组件构造输出字符串:
0
)字符以达到 $L$ 位。.
)字符。0
)字符以达到 $K$ 位。如果 $K=0$,不要在上面的点之后追加字符(这种情况下,当此段与下面的段结合时,最终的URI字符串将有两个相邻的点字符)。非填充分区表解码方法用于在URI中显示为由点(.
)字符分隔的一对可变长数字域的段,以及在二进制编码中显示为一个3-bit“分区”域后跟两个可变长二进制整数的段。两个URI域的字符个数总是小于等于已经限制,并且二进制编码的位个数总是恒定值。
非填充分区表解码方法使用一个“分区表”,要使用的特定分区表在给定EPC scheme的编码表中指定。
输入: 解码方法的输入是编码表的“比特位置”行中标识的位串。逻辑上,此位串被划分为三个子串,由一个3-bit“分区”值后跟两个可变长子串组成。
有效性测试:
输出: 通过连接以下三个组件构造输出字符串:
0
)字符以达到 $L$ 位。.
)字符。字符串分区表解码方法用于在URI中显示为由一个点(.
)分隔的一个可变长数字域和一个可变长字符串域的段,以及在二进制编码中显示为3-bit“分区”域跟随一个可变长二进制整数和一个可变长二进制编码字符串的段。两个URI域的字符数总是小于等于已经限制(将3字符转义序列视为单个字符),并且如有必要,二进制编码中的位数将被填充到一个恒定值。
分区表解码方法使用一个“分区表”,要使用的特定分区表在给定EPC scheme的编码表中指定。
输入: 解码方法的输入是编码表的“比特位置”行中标识的位串。逻辑上,此位串被划分为三个子串,由一个3-bit“分区”值后跟两个可变长子串组成。
有效性测试: 输入必须满足以下条件:
输出: 通过连接以下三个组件构造输出字符串:
.
)字符以达到 $L$ 位长。.
)字符。数字串解码方法用于在URI中显示为一个可能包括前导零的数字串的段。在编码前,把“1”预先加入数字串前,可以将前导零保留在二进制编码中。
输入: 解码方法的输入为编码表的“比特位置”行所标识的位串。
有效性测试: 输入必须使下面的解码过程不会失败。
输出: 按如下方式构造输出字符串:
1
开始,停止:输入不合法。1
字符。6-Bit GAGE/DoDAAC解码方法用于在URI中显示为5字符GAGE码或6字符DoDAAC码的段,以及在二进制编码中显示为36-bit编码位串的段。
输入: 解码方法的输入是由编码表的“比特位置”行所标识的位串。此位串的长度总是36-bit。
有效性测试: 输入位串必须满足以下条件:
I
和O
大写字母字符。I
和O
大写字母字符。如果以上的任何测试失败,段编码失败。
输出:
如果第一个6-bit段的值为100000,则忽视它。通过查找表G-1(G)中的6-bit段并使用“URI形式”的值将剩余的5或6个6-bit段转换为单个字符。将字符以输入位串的顺序连接起来。结果字符串就是输出。此字符串匹配6.3.17节语法所生成的CAGECodeOrDODAAC
。
6-bit可变串解码方法用于在URI中显示为可变长字符串的段,以及在二进制编码中显示为可变长空结尾二进制编码字符串。
输入: 解码方法的输入是位串,它开始于上一个编码段之后的下一个最低位位置。这种解码方法只使用了这个位串的一部分,如下所述。
有效性测试: 输入必须使下面的解码过程不会失败。
输出: 按如下方式构建输出字符串:
6-bit可变串分区表解码方法用于在URI中显示为由点(.
)字符分隔的一个可变长数字域和一个可变长字符串域的段,以及在二进制编码中显示为3-bit“分区”域跟随一个可变长二进制整数和一个空结尾二进制编码字符串的段。两个URI域的字符数量总是小于等于已知限制(3字符转义序列作为单个字符),并且二进制编码中的位个数也小于已知限制。
6-bit可变串分区表解码方法使用一个“分区表”,所使用的分区表在给定EPC scheme的编码表中指定。
输入: 解码方法的输入是编码表的“比特位置”行中标识的位串。逻辑上,此位串分为三个子串,由一个3-bit“分区”值后跟两个可变长子串组成。
有效性测试: 输入必须满足以下条件:
输出: 通过连接以下三个组件构建输出字符串:
0
)字符以达到 $L$位长度。.
)字符。定长整数解码方法有和于在URI中显示为填零十进制整数的段,以及在二进制编码中显示为二进制整数的段。
输入: 解码方法的输入是由编码表的“比特位置”行所标识的位串。
有效性测试: 给定一个长度为 $b$ 的位序列,按如下方式计算 $i_{max}$ :
$D=int(b*log(2)/log(10))$ $i_{max}=10^D-1$
将长度为 $b$ 的位序列解释为非负整数值 $i$ 如果 $i>i_{max}$,则解码失败,因为 $i$ 对应于一个不能用数字 $D$ 表示的值。
输出: 此段的解码为一个十进制数字,它的值为将输入视作一个无符号二进制整数的值。输出需要在左边填零,以使总位数达到 $D$。
本节描述在14.3节编码过程和14.3.4节解码过程使用的编码表。
每个编码表的“比特位置”行指示了每个二进制编码中的段的相对比特位置。在“比特位置”行,最高下标表示最高位,下标0表示最低位。请注意,这与RFID标签内存区位地址通常指示的方式相反,其中地址0是最高位。
SGTIN指定了两个代码方案,一个是96-bit编码(SGTIN-96),另一个是198-bit编码(SGTIN-198)。SGTIN-198编码允许使用[GS1GS1]中规定的最多20个字母数字字符表示全范围序列号。SGTIN-96编码用于只有数字的序列号,无前导零,它的值小于 $2^{38}$(也就是0至274,877,906,943(包含))。
这两种SGTIN编码方案都引用了下面的分区表。
分区值 | GS1公司前缀 | 指示符/填充数字和项目参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 数字 | |
0 | 40 | 12 | 4 | 1 |
1 | 37 | 11 | 7 | 2 |
2 | 34 | 10 | 10 | 3 |
3 | 30 | 9 | 14 | 4 |
4 | 27 | 8 | 17 | 5 |
5 | 24 | 7 | 20 | 6 |
6 | 20 | 6 | 24 | 7 |
Scheme | SGTIN-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:sgtin-96:F.C.I.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀(*) | 指示符(**)/项目参考 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 24-4 | 38 |
代码段 | EPC首部 | 过滤 | GTIN | 系列 | ||
URI protion | F | C.I | S | |||
代码段比特数 | 8 | 3 | 47 | 38 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b38 | b37b36 ... b0 | ||
编码方法 | 00110000 | 整数 | 分区,表14-2 | 整数 |
(*) 参考7.3.2节获取派生自GTIN-8的SGTIN的情况。
(**) 注意派生自GTIN-12或GTIN-13的SGTIN的情况,一个填零数字取代了指示数字。有关指示数字(或填零)和项目参考如何组合为EPC的这个段的定义,请参见7.2.3节。
Scheme | SGTIN-198 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:sgtin-198:F.C.I.S | |||||
位总数 | 198 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀(*) | 指示符(**)/项目参考 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 24-4 | 140 |
代码段 | EPC首部 | 过滤 | GTIN | 系列 | ||
URI protion | F | C.I | S | |||
代码段比特数 | 8 | 3 | 47 | 140 | ||
比特位置 | b197b196 ... b190 | b189b188b187 | b186b185 ... b140 | b139b138 ... b0 | ||
编码方法 | 00110110 | 整数 | 分区,表14-2 | 整数 |
(*) 参考7.3.2节获取派生自GTIN-8的SGTIN的情况。
(**) 注意派生自GTIN-12或GTIN-13的SGTIN的情况,一个填零数字取代了指示数字。有关指示数字(或填零)和项目参考如何组合为EPC的这个段的定义,请参见7.2.3节。
SSCC规定了一个代码结构:96-bit编码SSCC-96。SSCC-96编码允许[GS1GS1]中规定的所有SSCC。
SSCC-96编码方案引用了以下分区表。
分区值(P) | GS1公司前缀 | 扩展数字和系列参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 数字 | |
0 | 40 | 12 | 18 | 5 |
1 | 37 | 11 | 21 | 6 |
2 | 34 | 10 | 24 | 7 |
3 | 30 | 9 | 28 | 8 |
4 | 27 | 8 | 31 | 9 |
5 | 24 | 7 | 34 | 10 |
6 | 20 | 6 | 38 | 11 |
Scheme | SSCC-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:sscc-96:F.C.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 扩展/系列参考 | (保留) |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 38-18 | 24 |
代码段 | EPC首部 | 过滤 | SSCC | (保留) | ||
URI protion | F | C.S | ||||
代码段比特数 | 8 | 3 | 61 | 24 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b24 | b23b22 ... b0 | ||
编码方法 | 00110001 | 整数 | 分区,表14-5 | 00...0(24位零) |
SGLN规定了两种编码方案,96-bit编码(SGLN-96)和195-bit编码(SGLN-195)。SGLN-195编码允许[GS1GS1]中规定的最多20个字母数字字符的所有GLN扩展。SGLN-96则仅允许数字GLN扩展,无前导零,其值小于 $2^{41}$(也就是从0到2,199,023,255,551(包含))。注意值为 0 的扩展保留以指示SGLN相当于GS1公司前缀和位置参考所指示的GLN;
两个SGLN编码方案都引用以下分区表。
分区值(P) | GS1公司前缀 | 位置参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 数字 | |
0 | 40 | 12 | 1 | 0 |
1 | 37 | 11 | 4 | 1 |
2 | 34 | 10 | 7 | 2 |
3 | 30 | 9 | 11 | 3 |
4 | 27 | 8 | 14 | 4 |
5 | 24 | 7 | 17 | 5 |
6 | 20 | 6 | 21 | 6 |
Scheme | SGLN-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:sgln-96:F.C.L.E | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 位置参考 | 扩展 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 21-1 | 41 |
代码段 | EPC首部 | 过滤 | GLN | 扩展 | ||
URI protion | F | C.L | E | |||
代码段比特数 | 8 | 3 | 44 | 41 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b41 | b40b39 ... b0 | ||
编码方法 | 00110010 | 整数 | 分区,表14-7 | 整数 |
Scheme | SGLN-195 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:sgln-195:F.C.L.E | |||||
位总数 | 195 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 位置参考 | 扩展 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 21-1 | 140 |
代码段 | EPC首部 | 过滤 | GLN | 扩展 | ||
URI protion | F | C.L | E | |||
代码段比特数 | 8 | 3 | 44 | 140 | ||
比特位置 | b194b193 ... b187 | b186b185b184 | b183b182 ... b140 | b139b138 ... b0 | ||
编码方法 | 00111001 | 整数 | 分区,表14-7 | 字符串 |
GRAI规定了两个编码方案,96-bit编码(GRAI-96)和170-bit编码(GRAI-170)。GRAI-170允许[GS1GS1]中规定的最多16个字母数字字符的全部系列号。GRAI-96编码可以表示数字系列号,无前导零,其值小于 $2^{38}$ (也就是从0到274,877,906,943(包括))。
只有包含可选系列号的GRAI可以表示为EPC。无系列号的GRAI表示一个资产类,而不是特定实体,因此不能被用作EPC(就像一个非序列化的GTIN可能不被用作EPC一样)。
两个GRAI编码结构都引用了以下分区表。
分区值(P) | GS1公司前缀 | 资产类别 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 数字 | |
0 | 40 | 12 | 4 | 0 |
1 | 37 | 11 | 7 | 1 |
2 | 34 | 10 | 10 | 2 |
3 | 30 | 9 | 14 | 3 |
4 | 27 | 8 | 17 | 4 |
5 | 24 | 7 | 20 | 5 |
6 | 20 | 6 | 24 | 6 |
Scheme | GRAI-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:grai-96:F.C.A.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 资产类型 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 24-4 | 38 |
代码段 | EPC首部 | 过滤 | 分区 + 公司前缀 + 资产类别 | 系列 | ||
URI protion | F | C.A | S | |||
代码段比特数 | 8 | 3 | 47 | 38 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b38 | b37b36 ... b0 | ||
编码方法 | 00110011 | 整数 | 分区,表14-10 | 整数 |
Scheme | GRAI-170 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:grai-170:F.C.A.S | |||||
位总数 | 170 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 资产类型 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 24-4 | 112 |
代码段 | EPC首部 | 过滤 | 分区 + 公司前缀 + 资产类别 | 系列 | ||
URI protion | F | C.A | S | |||
代码段比特数 | 8 | 3 | 47 | 112 | ||
比特位置 | b169b168 ... b162 | b161b160b159 | b158b157 ... b112 | b111b110 ... b0 | ||
编码方法 | 00110111 | 整数 | 分区,表14-10 | 字符串 |
GIAI规定了两个编码方案,96-bit编码(GIAI-96)和202-bit编码(GIAI-202)。GIAI-202编码允许最多24个由[GS1GS1]中规定的字母数字字符组成的所有系列号。GIAI-96编码则仅表示数字系列号,无前导零,其值的上限跟随GS1公司的前缀长度而变化。
两个GIAI编码方案引用了不同的分区表,在下面小节的相应编码表旁边指定。
GIAI-96编码方案使用了以下分区表。
分区值(P) | GS1公司前缀 | 个人资产参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 最大数字(K) | |
0 | 40 | 12 | 42 | 13 |
1 | 37 | 11 | 45 | 14 |
2 | 34 | 10 | 48 | 15 |
3 | 30 | 9 | 52 | 16 |
4 | 27 | 8 | 55 | 17 |
5 | 24 | 7 | 58 | 18 |
6 | 20 | 6 | 62 | 19 |
Scheme | GIAI-96 | ||||
---|---|---|---|---|---|
URI模板 | urn:epc:tag:giai-96:F.C.A | ||||
位总数 | 96 | ||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 个人资产参考 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 62-42 |
代码段 | EPC首部 | 过滤 | GIAI | ||
URI protion | F | C.A | |||
代码段比特数 | 8 | 3 | 85 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b0 | ||
编码方法 | 00110100 | 整数 | 未填充分区,表14-13、表14-14 |
GIAI-202编码方案使用以下分区表。
分区值(P) | GS1公司前缀 | 个人资产参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 最大字符 | |
0 | 40 | 12 | 148 | 18 |
1 | 37 | 11 | 151 | 19 |
2 | 34 | 10 | 154 | 20 |
3 | 30 | 9 | 158 | 21 |
4 | 27 | 8 | 161 | 22 |
5 | 24 | 7 | 164 | 23 |
6 | 20 | 6 | 168 | 24 |
Scheme | GIAI-202 | ||||
---|---|---|---|---|---|
URI模板 | urn:epc:tag:giai-202:F.C.A | ||||
位总数 | 202 | ||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 个人资产参考 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 168-148 |
代码段 | EPC首部 | 过滤 | GIAI | ||
URI protion | F | C.A | |||
代码段比特数 | 8 | 3 | 191 | ||
比特位置 | b201b200 ... b194 | b193b192b191 | b190b189 ... b0 | ||
编码方法 | 00111000 | 整数 | 字符串分区,表14-15 |
GSRN规定了两种编码方案:96-bit编码GSRN-96和96-bit编码GSRNP-96。两个GSRN编码都可以表示[GS1GS]中规定的所有GSRN代码。
两个GSRN编码方案都引用了以下分区表。
分区值(P) | GS1公司前缀 | 服务参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 最大字符 | |
0 | 40 | 12 | 18 | 5 |
1 | 37 | 11 | 21 | 6 |
2 | 34 | 10 | 24 | 7 |
3 | 30 | 9 | 28 | 8 |
4 | 27 | 8 | 31 | 9 |
5 | 24 | 7 | 34 | 10 |
6 | 20 | 6 | 38 | 11 |
Scheme | GSRN-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:gsrn-96:F.C.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 服务关系 | (保留) |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 38-18 | 24 |
代码段 | EPC首部 | 过滤 | GSRN | (保留) | ||
URI protion | F | C.S | ||||
代码段比特数 | 8 | 3 | 61 | 24 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b24 | b23b22 ... b0 | ||
编码方法 | 00101101 | 整数 | 分区,表14-17 | 00...0(24-bit 0) |
Scheme | GSRNP-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:gsrnp-96:F.C.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 服务关系 | (保留) |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 38-18 | 24 |
代码段 | EPC首部 | 过滤 | GSRN | (保留) | ||
URI protion | F | C.S | ||||
代码段比特数 | 8 | 3 | 61 | 24 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b24 | b23b22 ... b0 | ||
编码方法 | 00101110 | 整数 | 分区,表14-17 | 00...0(24-bit 0) |
GDTI规范有三个编码方案,96-bit编码(GDTI-96)、113-bit编码(GDTI-113,不推荐为TDS 1.9)以及174-bit编码(GDTI-174)。GDTI-174编码可表示[GS1GS]中规定的最多17个字母数字字符组成的全范围文档序列。不推荐使用GDTI-113编码,它表示较少的文档序列号的范围,最多17个数字字符(包括前导零),如[GS1GS11.0]中最初指定的那样。GDTI-96编码表示无前导零的文档系列号,其值小于 $2^{41}$ (也就是从0到2,199,023,255,551(包含))。
只有包含可选系列号GDTI可以表示为EPC。无系列号的GDTI表示一个文档类,而不是具体文档,因此不能作为一个EPC(就如无系列号GTIN不能作为EPC使用)。
所有GDTI编码方案都引用以下分区表。
分区值(P) | GS1公司前缀 | 文档类型 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 数字 | |
0 | 40 | 12 | 1 | 0 |
1 | 37 | 11 | 4 | 1 |
2 | 34 | 10 | 7 | 2 |
3 | 30 | 9 | 11 | 3 |
4 | 27 | 8 | 14 | 4 |
5 | 24 | 7 | 17 | 5 |
6 | 20 | 6 | 21 | 6 |
Scheme | GDTI-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:gdti-96:F.C.D.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 文档类型 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 21-1 | 41 |
代码段 | EPC首部 | 过滤 | 分区 + 公司前缀 + 文档类型 | 系列 | ||
URI protion | F | C.D | S | |||
代码段比特数 | 8 | 3 | 44 | 41 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b41 | b40b39 ... b0 | ||
编码方法 | 00101100 | 整数 | 分区,表14-20 | 整数 |
Scheme | GDTI-113 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:gdti-113:F.C.D.S | |||||
位总数 | 113 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 文档类型 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 21-1 | 58 |
代码段 | EPC首部 | 过滤 | 分区 + 公司前缀 + 文档类型 | 系列 | ||
URI protion | F | C.D | S | |||
代码段比特数 | 8 | 3 | 44 | 58 | ||
比特位置 | b112b111 ... b105 | b104b103b102 | b101b100 ... b58 | b57b56 ... b0 | ||
编码方法 | 00111010 | 整数 | 分区,表14-20 | 数字串 |
Scheme | GDTI-174 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:gdti-174:F.C.A.S | |||||
位总数 | 174 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 文档类型 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 21-1 | 119 |
代码段 | EPC首部 | 过滤 | 分区 + 公司前缀 + 文档类型 | 系列 | ||
URI protion | F | C.A | S | |||
代码段比特数 | 8 | 3 | 44 | 119 | ||
比特位置 | b173b172 ... b166 | b165b164b163 | b162b161 ... b119 | b118b117 ... b0 | ||
编码方法 | 00111110 | 整数 | 分区,表14-20 | 字符串 |
CPI标识符规定了两个编码方案:96-bit方案CPI-96和可变长编码CPI-var。CPI-96使用分区表39,CPI-var使用分区表40。
分区值(P) | GS1公司前缀 | 组件/部件参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位(N) | 最大数字数 | |
0 | 40 | 12 | 11 | 3 |
1 | 37 | 11 | 14 | 4 |
2 | 34 | 10 | 17 | 5 |
3 | 30 | 9 | 21 | 6 |
4 | 27 | 8 | 24 | 7 |
5 | 24 | 7 | 27 | 8 |
6 | 20 | 6 | 31 | 9 |
分区值(P) | GS1公司前缀 | 组件/部件参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 最大位数**(N) | 最大字符数 | |
0 | 40 | 12 | 114 | 18 |
1 | 37 | 11 | 120 | 19 |
2 | 34 | 10 | 126 | 20 |
3 | 30 | 9 | 132 | 21 |
4 | 27 | 8 | 138 | 22 |
5 | 24 | 7 | 144 | 23 |
6 | 20 | 6 | 150 | 24 |
**: 位的数量依赖于组件/部件参考的字符数;参考14.3.9和14.4.9节。
Scheme | CPI-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:cpi-96:F.C.P.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 组件/部件参考 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 31-11 | 31 |
代码段 | EPC首部 | 过滤 | 组件/部件标识 | 组件/部件系列号 | ||
URI protion | F | C.P | S | |||
代码段比特数 | 8 | 3 | 54 | 31 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b31 | b30b29 ... b0 | ||
编码方法 | 00111100 | 整数 | 非填充分区,表14-24 | 整数 |
Scheme | CPI-var | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:cpi-var:F.C.P.S | |||||
位总数 | 变量:在86和224(包含) bit之间 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 组件/部件参考 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 12-150(可变) | 40(固定) |
代码段 | EPC首部 | 过滤 | 组件/部件标识 | 组件/部件系列号 | ||
URI protion | F | C.P | S | |||
代码段比特数 | 8 | 3 | 最多173 bit | 40 | ||
比特位置 | bB-1bB-2 ... bB-8 | bB-9bB-10bB-11 | bB-12bB-13 ... b40 | b39b38 ... b0 | ||
编码方法 | 00111101 | 整数 | 6-Bit可变字符串分区,表14-24 | 整数 |
SGCN指定了一个单独的96-bit编码方案(SGCN-96),允许使用[GS1GS]中规定的最多12个数字字符(包括前导零)的全范围优惠券系列组件号。只有包含了系列号的SGCN可以表示为EPC。不带系列号的GCN表示的一个优惠券类,而不是具体优惠券,因此不能作为EPC使用(就好比非系列GTIN不能用作EPC)。
SGCN编码方案引用以下分区表。
分区值(P) | GS1公司前缀 | 优惠券参考 | ||
---|---|---|---|---|
位(M) | 数字(L) | 位数(N) | 数字 | |
0 | 40 | 12 | 1 | 0 |
1 | 37 | 11 | 4 | 1 |
2 | 34 | 10 | 7 | 2 |
3 | 30 | 9 | 11 | 3 |
4 | 27 | 8 | 14 | 4 |
5 | 24 | 7 | 17 | 5 |
6 | 20 | 6 | 21 | 6 |
Scheme | SGCN-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:sgcn-96:F.C.D.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀 | 优惠券参考 | 系列组件 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 21-1 | 41 |
代码段 | EPC首部 | 过滤 | 分区 + 公司前缀 + 优惠券参考 | 系列 | ||
URI protion | F | C.D | S | |||
代码段比特数 | 8 | 3 | 44 | 41 | ||
比特位置 | b95b94 ... b88 | b87b86b85 | b84b83 ... b41 | b40b39 ... b0 | ||
编码方法 | 00111111 | 整数 | 分区,表14-28 | 数字串 |
ITIP指定了两个编码方案,110-bit编码(ITIP-110)和212-bit编码(ITIP-212)。ITIP-212编码允许[GS1GS]中指定的最多20个字母数字字符的全部序列号。ITIP-110编码允许数字序列号,无前导零,其值小于 $2^{38}$ (也就是从0到274,877,906,943(包含))。
两个ITIP编码方案都引用以下分区表。
分区值(P) | GS1公司前缀 | 指示/填充 数字和项目参考 | ||
---|---|---|---|---|
位数(M) | 数字(L) | 位数(N) | 数字 | |
0 | 40 | 12 | 4 | 1 |
1 | 37 | 11 | 7 | 2 |
2 | 34 | 10 | 10 | 3 |
3 | 30 | 9 | 14 | 4 |
4 | 27 | 8 | 20 | 6 |
5 | 24 | 7 | 20 | 6 |
6 | 20 | 6 | 24 | 7 |
Scheme | ITIP-110 | |||||||
---|---|---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:itip-110:F.C.I.PT.S | |||||||
位总数 | 110 | |||||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀(*) | 指示(**)/项目参考 | 组件 | 总数 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 24-4 | 7 | 7 | 38 |
代码段 | EPC首部 | 过滤 | GTIN | 组件 | 总数 | 系列 | ||
URI protion | F | C.I | P | T | S | |||
代码段比特数 | 8 | 3 | 47 | 7 | 7 | 38 | ||
比特位置 | b109b108 ... b102 | b101b100b99 | b98b97 ... b52 | b51b50 ... b45 | b44b43 ... b38 | b37b36 ... b0 | ||
编码方法 | 01000000 | 整数 | 分区,表14-2 | 定长整数 | 定长整数 | 整数 |
(*): 参考7.3.2节获取派生自GTIN-8的SGTIN实例。
(**): 注意派生自GTIN-12或GTIN-13的ITIP情况,一个零填充数字代替了指示数字。在所有情况下,参考7.3.2节获取指示数字(或填零)以及项目参考是如何合并到EPC段的。
Scheme | ITIP-110 | |||||||
---|---|---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:itip-212:F.C.I.PT.S | |||||||
位总数 | 212 | |||||||
逻辑段 | EPC首部 | 过滤 | 分区 | GS1公司前缀(*) | 指示符(**)/项目参考 | 组件 | 总数 | 系列 |
逻辑段比特数 | 8 | 3 | 3 | 20-40 | 24-4 | 7 | 7 | 140 |
代码段 | EPC首部 | 过滤 | GTIN | 组件 | 总数 | 系列 | ||
URI protion | F | C.I | P | T | S | |||
代码段比特数 | 8 | 3 | 47 | 7 | 7 | 140 | ||
比特位置 | b211b210 ... b204 | b203b202b201 | b200b199 ... b154 | b153b152 ... b147 | b146b145 ... b140 | b139b138 ... b0 | ||
编码方法 | 01000001 | 整数 | 分区,表14-2 | 定长整数 | 定长整数 | 字符串 |
(*): 参考7.3.2节获取派生自GTIN-8的SGTIN实例。
(**): 注意派生自GTIN-12或GTIN-13的ITIP情况,一个零填充数字代替了指示数字。在所有情况下,参考7.3.2节获取指示数字(或填零)以及项目参考是如何合并到EPC段的。
GID仅指定了一种编码方案:96-bit编码GID-96。无需分区表。
Scheme | GID-96 | |||||
---|---|---|---|---|---|---|
URI模板 | urn:epc:tag:gid-96:M.C.S | |||||
位总数 | 96 | |||||
逻辑段 | EPC首部 | 通用管理者代码 | 对象类 | 系列号 | ||
逻辑段比特数 | 8 | 28 | 24 | 36 | ||
代码段 | EPC首部 | 通用管理者代码 | 对象类 | 系列号 | ||
URI protion | M | C | S | |||
代码段比特数 | 8 | 28 | 24 | 36 | ||
比特位置 | b95b94 ... b88 | b87b86b60 | b59b58 ... b36 | b35b34 ... b0 | ||
编码方法 | 00110101 | 整数 | 整数 | 整数 |
在撰写本文时,DoD编码的细节在一份名为“美国国防部供应商的无源RFID信息指南”的文件中进行了解释,该文件可在美国国防部网站上获得(http://www.dodrfid.org/supplierguide.htm)。
ADI标识仅指定了一种编码方案:可变长编码ADI-var。无需分区表。
Scheme | ADI-var | ||||
---|---|---|---|---|---|
URI模板 | urn:epc:tag:adi-var:F.D.P.S | ||||
位总数 | 变量:在68和434(包含) bit之间 | ||||
逻辑段 | EPC首部 | 过滤 | CAGE/DoDAAC | 零件号 | 系列号 |
逻辑段比特数 | 8 | 6 | 36 | 变量 | 变量 |
代码段 | EPC首部 | 过滤 | CAGE/DoDAAC | 零件号 | 系列号 |
URI protion | F | D | P | S | |
代码段比特数 | 8 | 6 | 36 | 变量(6-198) | 变量(12-186) |
比特位置 | bB-1bB-2 ... bB-8 | bB-9bB-10bB-14 | bB-15bB-16 ... bB-50 | bB-51bB-52 ... | b1b0 |
编码方法 | 00111011 | 整数 | 6-bit CAGE/DoDAAC | 6-bit可变字符串 | 6-bit可变字符串 |
;注意:
零件号段的字符数必须大于等于0,并小于等于32。在二进制编码中,总是存在一个6-bit终止符。
系列号段的字符数必须大于等于1,并小于等于30。在二进制编码中,总是存在一个6-bit终止符。
“#”字符(在URI中由转义序列%23
表示)可能显示为系列号段的第一个字符,但在零件号段或系列号段的其他位置可能不会出现。