从 GTIN 中提取 GS1 公司前缀

问题描述 投票:0回答:1

我正在尝试使用 dart 从条形码中获取公司前缀:


String extractCompanyPrefix(String gtin) {
  // Ensure the GTIN is a string to handle leading zeros and perform string operations
  String gtinStr = gtin.padLeft(14, '0');

  String prefix = gtinStr.substring(0, 8);
  // remove leading zeros
  prefix = prefix.replaceFirst(RegExp(r'^0+'), '');
  return prefix;
}

void main(List<String> arguments) {
  if (arguments.isEmpty) {
    print('Please provide a barcode.');
    return;
  }

  String barcode = arguments.first;
  String companyPrefix = extractCompanyPrefix(barcode);
  print('Company prefix: $companyPrefix');
}

❯ dart run dart/company_prefix_checker.dart 8710398527905
Company prefix: 8710398
❯ dart run dart/company_prefix_checker.dart 40111445
Company prefix: 40

这是正确的方法和结果吗?

正确的公司前缀

dart barcode gs1-ai-syntax
1个回答
0
投票

这是正确的方法和结果吗?

没有。

GS1 公司前缀 (GCP) 的长度可变。

数据中未指定 GCP 的长度。因此,如果不参考分配数据,就无法将 GCP 从剩余数据中分离出来。

GS1 在此提供 XML 和 JSON 格式的前缀长度表:https://www.gs1.org/standards/bc-epc-interop

数据不是最新的,并且准确性随质量的变化而变化,具体取决于发布 GCP 的 GS1 成员组织。

© www.soinside.com 2019 - 2024. All rights reserved.