flag german flag uk flag us Tip: Lesezeichen mit Strg-D (Win) oder Apfel-D (Mac) IndexProdukteKnow How / FAQDownloadShopKontaktService

Barcodetypen

Wie wird die Code 39 Prüfziffer berechnet?

Code 39 ist ein sogenannter selbstüberprüfender Barcode (engl. self-checking), d.h., der Code kann ohne Prüfziffer verwendet werden. In Anwendungen, wo mit einer Beschädigung oder Verschmutzung des Codes gerechnet werden muß, sollte jedoch der Barcode mit Prüfziffer gedruckt werden, um Fehllesungen zu vermeiden.

Jedem Zeichen des Code 39 Zeichensatzes ist ein numerischer Wert von '0' bis '42' zugeordnet. Um die Prüfziffer zu berechnen, werden alle Nutzzeichen (ausschließlich des Startzeichens) aufsummiert. Das Ergebnis wird ganzzahlig durch 43 geteilt, der Restwert ergibt den numerischen Wert der Prüfziffer (einfache Modulo 43 Operation). Alle Zeichen aus dem Code 39 Zeichenvorrat können als Prüfziffer ermittelt werden, auch Buchstaben oder Sonderzeichen.

Beispielfunktion zur Code 39 Prüfziffernberechnung in C:

unsigned char calculateChecksum(unsigned char *data, int len)
{
  int sum = 0;
  for(int i = 0;i<len;i++)
  {
    sum += valueFromCharacter(*(data + i));
  }
  return characterFromValue(sum % 43);
}

Die valueFromCharacter Funktion ermittelt den numerischen Wert eines Zeichens aus einer geeigneten Tabelle:

unsigned char c39_cw[43] =
{
  '0','1','2','3','4','5','6','7','8','9',
  'A','B','C','D','E','F','G','H','I','J',
  'K','L','M','N','O','P','Q','R','S','T',
  'U','V','W','X','Y','Z','-','.',' ','$',
  '/','+','%'
}

Die characterFromValue Funktion arbeitet umgekehrt.

Hinweis: Alle von uns angebotenen Programme berechnen die Code 39 Prüfziffer auf Wunsch automatisch.

Zurück zum FAQ Index.