barcode specifications

barcode - ¿Cuál es el valor real HEX/binario del carácter GS1 FNC1?



specifications (2)

Es importante saber (y configurar un escáner correctamente) que el carácter FNC1 en la primera posición se traduce a un identificador de simbología según ISO / IEC 15424. El modificador m del identificador de simbología muestra si hubo un FNC1 o no. Si esto no se hace, la aplicación ya no puede ver si una Estructura GS1 estaba destinada o no. Otras estructuras se identifican, por ejemplo, con Macro 06 en un código de matriz de datos (ISO / IEC 16022, ISO / IEC 15434). Se requiere calcular nuestra diferencia para tomar la acción correcta para procesar los datos.

He buscado en muchas páginas de Wikipedia, las especificaciones oficiales de GS1, pero aún no he encontrado una respuesta definitiva a la pregunta

¿Cuál es el valor real HEX / binario del carácter GS1 FNC1?

Hay mucha información sobre cómo usar los identificadores GS1, cómo imprimir los códigos de barras con ZPL y cómo codificar el FNC1, pero quiero saber el valor HEX real de ese carácter.


Los caracteres de funciones especiales como FNC1 a FNC4 no tienen ninguna representación ASCII directa. Cada simbología que admite dichos caracteres tiene un esquema diferente para codificarlos en su representación interna, bastante diferente de cualquier dato de caracteres orientado a bytes.

Los caracteres FNC sirven como caracteres de marca (que indican algo especial para el lector) y como caracteres de formato (que modifican el significado de los datos codificados). Como tales, no están destinados a ser transmitidos directamente en los datos recibidos por el sistema host desde un lector de código de barras básico.

El propósito habitual de cada uno de los caracteres FNC es el siguiente:

  • FNC1 : carácter de indicador de datos estructurados que indica el formato GS1 y AIM y el carácter de formato de separador de grupo, entre otros usos.
  • FNC2 - Mensaje Agregar carácter de marca para almacenar en búfer los datos en grupos de símbolos para una sola lectura.
  • FNC3 : carácter de indicador de programación del lector para fines de configuración del dispositivo.
  • FNC4 : carácter de formato ASCII extendido para codificar caracteres con ordinales 128-255.

Tenga en cuenta que puede que no todos estén disponibles en ciertas simbologías de códigos de barras e incluso pueden especificarse de formas diferentes, no típicas o sobrecargadas.

La codificación de un carácter FNC en los datos internos de un símbolo se realiza mediante un "mecanismo de escape" específico para el software de codificación. Por ejemplo, para usar FNC1 en su rol de datos estructurados GS1 típico para los datos "(01) 00312345678906 (21) 123456789012 (30) 0144" puede ver que los caracteres FNC1 escapan como {FNC1} para que la entrada se vea como {FNC1}010031234567890621123456789012{FNC1}300144 . Pero cada biblioteca tiene una forma diferente de aceptar estos caracteres que no son de datos y algunos incluso insertarán los caracteres requeridos automáticamente [*] .

Al escanear un código de barras, los datos internos del símbolo generalmente se decodifican y luego se transmiten al host a través de un canal básico (por ejemplo, una cuña de teclado) como una secuencia de bytes que se interpretará de acuerdo con la codificación de caracteres Latin-1. Los caracteres FNC no se pueden representar de esa manera y se excluyen del flujo de datos, sin embargo, su efecto de formateo en los datos permanece.

Por ejemplo, los estándares para la mayoría de las simbologías especifican que cuando se usa un carácter FNC1 en su función de separador de campo en datos que se ajustan al formato estándar del identificador de aplicación GS1, debe decodificarse y transmitirse como GS (ASCII 29). Dicho explícitamente, el efecto de formateo de un carácter FNC1 utilizado como separador de Identificador de Aplicación GS1 es colocar un carácter GS al final del campo de longitud variable. Pero en otros roles (como cuando FNC1 se usa en "primera / segunda posición" como un carácter indicador y con datos formateados no GS1) no hay efecto de formateo en los datos transportados y, por lo tanto, no hay representación ASCII durante la decodificación.

Otra instancia de los caracteres de funciones especiales que tienen un efecto de formateo en los datos es con simbologías que usan FNC4 para extender su alcance de ASCII de 7 bits a ASCII extendido como se describe en esta respuesta .

Un punto técnico sutil es que los datos transferidos al host a menudo tienen como prefijo un encabezado de indicador de símbolo corto conocido como "identificador de simbología" que denota el tipo y el uso del símbolo del que se están leyendo los datos. Esto a menudo se modifica por la presencia de caracteres de bandera invisibles dentro de los datos del símbolo, por ejemplo, para indicar la presencia de datos formateados GS1 con "FNC1 en primer lugar" o para indicar el modo de programación del lector cuando aparece FNC3 en cualquier parte del símbolo. Los detalles son simbológicos específicos.

[*]: Barcode Writer en Pure PostScript insertará automáticamente los caracteres FNC1 apropiados para cualquier simbología cuyos datos se proporcionen exclusivamente en el formato estándar GS1 Application Identifier. También codificará caracteres ASCII extendidos mediante el uso automático de caracteres FNC4 donde la simbología lo admite.