如何将UPC-E条形码转换为UPC-A条形码?

Ter*_*ton 3 barcode

什么是将零抑制的八位GTIN-12标识符(表示为UPC-E条形码)转换为完整的十二位数版本的算法,如UPC-A条形码所示?

有没有办法在不编写代码的情况下为少量条形码实现这一目的?

Ter*_*ton 10

从以下模式映射中可以最清楚地看到用于在UPC-E和UPC-A表示之间转换GTIN-12标识符的算法:

SabcdeNX ? SabN0000cdeX  :  0?N?2
Sabcde3X ? Sabc00000deX
Sabcde4X ? Sabcd00000eX
SabcdeNX ? Sabcde0000NX  :  5?N?9
Run Code Online (Sandbox Code Playgroud)

在上面S是数字系统(0或1)并且X是校验位.

在伪代码中它看起来像这样:

Input:  A valid eight-digit UPC-E: Assigned to E[]. 
Output: PASS: Twelve-digit UPC-A representing the UPC-E.
        FAIL: Reason.

if E[0] != {0-1} then FAIL: Invalid number system.

if E[6] == {0-2} then PASS: E[0-2] . E[6] . "0000"  . E[3-5] . E[7]
if E[6] == "3"   then PASS: E[0-3] .        "00000" . E[4-5] . E[7]
if E[6] == "4"   then PASS: E[0-4] .        "00000" . E[5]   . E[7]    
if E[6] == {5-9} then PASS: E[0-5] .        "0000"  . E[6]   . E[7]
Run Code Online (Sandbox Code Playgroud)