gpt4 book ai didi

barcode - GS1 FNC1 字符的实际十六进制/二进制值是多少?

转载 作者:行者123 更新时间:2023-12-04 02:55:13 24 4
gpt4 key购买 nike

我在维基百科上搜索了很多页面,官方的 GS1 规范,但还没有找到问题的明确答案

GS1 FNC1 字符的实际十六进制/二进制值是多少?

关于如何使用 GS1 标识符、如何使用 ZPL 打印条形码以及如何对 FNC1 进行编码有很多信息,但我想知道该字符的实际十六进制值。

最佳答案

FNC1 到 FNC4 等特殊功能字符属于“非数据字符”类,可以在各种条码符号中进行编码,但在解码数据流中没有任何直接的 ASCII 表示。支持此类字符的每种符号体系都有不同的方案,用于在其内部表示中对它们进行编码,这与任何面向字节的字符数据截然不同。
FNC 字符既用作标志字符(表示对读者来说特殊的东西)又用作格式化字符(修改编码数据的含义)。因此,它们不打算在主机系统从基本条码阅读器接收的数据中直接传输。
每个 FNC 字符的通常用途如下:

  • FNC1 - 结构化数据标志字符,指示 GS1 和 AIM 格式以及组分隔符格式字符,以及其他用途。
  • FNC2 - 消息附加标志字符,用于缓冲单次读取的符号组中的数据。
  • FNC3 - 用于设备配置目的的读取器编程标志字符。
  • FNC4 - 用于编码序数为 128-255 的字符的扩展 ASCII 格式字符。

  • 请注意,它们在某些条码符号体系中可能并非全部可用,甚至可能以不同的、非典型的或过载的方式指定。
    在符号的内部数据中编码 FNC 字符是通过特定于编码软件的“转义机制”完成的。例如,要在数据“(01)00312345678906(21)123456789012(30)0144”的典型 GS1 结构化数据角色中使用 FNC1,您可能会看到 FNC1 字符转义为 {FNC1} ,因此输入看起来像 {FNC1}010031234567890621123456789012{FNC1}300144 。但是每个库都有不同的方式来接受这些非数据字符,有些甚至会自动插入所需的字符。
    在扫描条形码时,符号的内部数据通常被解码,然后通过基本 channel (例如键盘楔形)作为要根据拉丁文 1 字符编码进行解释的字节序列传输到主机。 FNC 字符不能以这种方式表示并被排除在数据流之外,但它们对数据的格式影响仍然存在。
    例如,大多数符号标准规定,当 FNC1 字符在符合 GS1 应用标识符标准格式的数据中用作字段分隔符时,应将其解码并作为 GS (ASCII 29) 传输。明确地说,用作 GS1 应用程序标识符分隔符的 FNC1 字符的格式化效果是在可变长度字段的末尾放置一个 GS 字符。但在其他角色中(例如当 FNC1 用于“第一/第二位置”作为标志字符和非 GS1 格式数据时)对携带的数据没有格式影响,因此在解码过程中没有 ASCII 表示。
    对数据具有格式化影响的特殊功能字符的另一个实例是使用 FNC4 将其范围从 7 位 ASCII 扩展到扩展 ASCII 的符号体系,如 this answer 中所述。
    一个微妙的技术点是传输到主机的数据通常带有一个短符号指示符头作为前缀,称为“符号系统标识符”,它表示从中读取数据的符号的类型和用法。这通常通过符号数据中其他不可见标志字符的存在进行修改,例如,用“FNC1 在第一个”来指示 GS1 格式数据的存在,或者当 FNC3 出现在符号中的任何位置时指示阅读器编程模式。详细信息是特定于符号的。

    关于barcode - GS1 FNC1 字符的实际十六进制/二进制值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31318648/

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