Wie wird die Code 39 Prüfziffer berechnet?Code 39 verwendet ein einfaches Modulo 43 Prüfziffernverfahren. Jedem Zeichen des Codes ist eine Wert von 0-42 zugeordnet. Die Zeichen eines Symbols werden aufsummiert, ganzzahlig durch 43 geteilt, der Rest ist der Wert der Prüfziffer. Jedes Zeichen des Codes kann Prüfziffer sein, also auch Buchstaben oder Sonderzeichen.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 Funktion valueFromCharacter ermittelt den Wert eines Zeichens aus einer Tabelle wie der folgenden: 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 Funktion characterFromValue funktioniert umgekehrt. Hinweis: Alle Softmatic Anwendungen, die Code 39 generieren, erzeugen die Prüfziffer automatisch. Bitte beachten Sie auch unsere Seite über Code 39 mit weiteren Informationen und Beispielcodes. |