gpt4 book ai didi

ios - 如何将 UPC-A 转换为 UPC-E?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:24 26 4
gpt4 key购买 nike

我们想将 12 位 UPC-A 转换为 8 位 UPC-E。您能告诉我哪种方法最好,而无需使用我自己的代码进行转换吗?

我有很多公式可以将 8 位 UCC-E 转换为 12 位 UPC-A 但不能反转。

最佳答案

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

SabN0000cdeX ⟺ SabcdeNX  :  0≤N≤2
Sabc00000deX ⟺ Sabcde3X
Sabcd00000eX ⟺ Sabcde4X
Sabcde0000NX ⟺ SabcdeNX : 5≤N≤9

上面的S是数制,0或者1,X是校验位。如果 UPC-A 与模式不匹配,则无法将其转换为 UPC-E。

It can be seen that there may be up to four valid UPC-E representations of each UPC-A:

001200000067 ⟺ 00100627 ⟺ 00120637 ⟺ 00120647 ⟺ 00120067.

执行从 UPC-A 到 UPC-E 的一种转换方法的伪代码如下所示:

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

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

if A[3] == {0-2} && A[4..7] == "0000" then PASS: A[0..2] . A[8..10] . A[3] . A[11]
if A[4..8] == "00000" then PASS: A[0..3] . A[9..10] . "3" . A[11]
if A[5..9] == "00000" then PASS: A[0..4] . A[10] . "4" . A[11]
if A[6..9] == "0000" && A[10] == {5-9} then PASS: A[0..5] . A[10] . A[11]

otherwise, FAIL: UPC-A not compatible with UPC-E.

关于ios - 如何将 UPC-A 转换为 UPC-E?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31073963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com