我正在尝试使用 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
这是正确的方法和结果吗?
正确的公司前缀
这是正确的方法和结果吗?
没有。
GS1 公司前缀 (GCP) 的长度可变。
数据中未指定 GCP 的长度。因此,如果不参考分配数据,就无法将 GCP 从剩余数据中分离出来。
GS1 在此提供 XML 和 JSON 格式的前缀长度表:https://www.gs1.org/standards/bc-epc-interop
数据不是最新的,并且准确性随质量的变化而变化,具体取决于发布 GCP 的 GS1 成员组织。