Calcolo della cifra di controllo

Calcolo delle cifre di controllo per i codici a barre

Modulo 10

ActiveBarcode: Info ActiveBarcode calcola automaticamente le cifre di controllo per i codici a barre.
Non è necessario calcolare o aggiungere manualmente queste cifre di controllo. La presente documentazione è inclusa solo a titolo di completezza.
Calcolo di un checksum secondo il Modulo 10:
Una cifra di controllo secondo il Modulo 10 è utilizzata dai codici EAN, ad esempio EAN-13.

Con i codici EAN la cifra di controllo viene calcolata in base al metodo di calcolo modulo 10 con la ponderazione 3. La ponderazione 3 inizia dalla prima cifra da destra. Quindi le singole cifre vengono moltiplicate per la ponderazione. Questi risultati vengono aggiunti a una somma. Il modulo 10 viene calcolato da questa somma. In primo luogo la somma è divisa per 10. Il resto della divisione viene sottratto da 10. Il risultato di questa sottrazione è la cifra di checksum/controllo.

Di seguito è riportato un esempio di calcolo per modulo 10 utilizzando un codice EAN-13:

Cifre: 4 0 0 7 6 3 0 0 0 0 1 1
peso: 1 3 1 3 1 3 1 3 1 3 1 3
Risultati: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Calcola checksum: L'aggiunta al prossimo multiplo di 10. (50)
Cifra di controllo 6


Con i codici Code 25, la cifra di controllo viene calcolata anche con la ponderazione 3 in base al metodo di calcolo Modulo 10. Tuttavia, la ponderazione 3 inizia dalla prima cifra utile da sinistra. Quindi le singole cifre utili vengono moltiplicate per la ponderazione. Questi risultati risultanti vengono aggiunti a una somma. Il modulo 10 viene calcolato da questa somma. In primo luogo la somma è divisa per 10. Il resto della divisione viene sottratto da 10 (calcolare la differenza a 10). Il risultato di questa sottrazione è la cifra di checksum/controllo.

Di seguito è riportato un esempio di calcolo per Modulo 10 utilizzando il codice 25:

Cifre: 1 2 3 4 5
peso: 3 1 3 1 3
Risultati: 3+2+9+4+15 = 33
Calcola checksum: L'aggiunta al prossimo multiplo di 10. (40)
Cifra di controllo 7


Con Leitcode e Identcode la cifra di controllo viene calcolata anche in base al metodo di calcolo modulo 10. Tuttavia, la ponderazione è diversa qui: Peso di 4 per le posizioni dispari e 9 per le posizioni rette. Di seguito è riportato un esempio:Here is an example:

Cifre: 2 3 6 6 9 0 1 2 0 1 2 3 0
peso: 4 9 4 9 4 9 4 9 4 9 4 9 4
Risultati: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Calcola checksum: L'aggiunta al prossimo multiplo di 10. (220)
Cifra di controllo 5


Esempio di calcolo per il Modulo 10 che utilizza un codice EAN-14 / ITF-14 / SCC-14 / DUN-14:

Cifre: 0 4 0 0 7 6 3 0 0 0 0 1 1
peso: 3 1 3 1 3 1 3 1 3 1 3 1 3
Risultati: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Calcola checksum: L'aggiunta al prossimo multiplo di 10. (50)
Cifra di controllo 6

Modulo 11

ActiveBarcode: Info ActiveBarcode calcola automaticamente le cifre di controllo per i codici a barre.
Non è necessario calcolare o aggiungere manualmente queste cifre di controllo. La presente documentazione è inclusa solo a titolo di completezza.
Calcolo di un checksum secondo il Modulo 11:
Una cifra di controllo secondo il Modulo 11 è utilizzata ad esempio da PZN. Il Modulo 11 viene utilizzato anche per l'ISBN.

PZN
Prima tutte le cifre vengono moltiplicate singolarmente con un moltiplicatore. Il moltiplicatore corrisponde alla posizione della cifra 1. Vengono aggiunti tutti i prodotti risultanti. Il risultato viene quindi diviso per 11. Il resto risultante è la cifra di controllo. Se la cifra di controllo è 10, questo numero non deve essere utilizzato come P. N. Il codice non sarebbe pertanto valido.

Un esempio di calcolo:

Cifre: 6 3 1 9 4 2
peso: 2 3 4 5 6 7
Risultati: 12+9+4+45+24+14 = 108
Calcola checksum: 108 / 11 = 9 rimanenza 9
Cifra di controllo 9


Il checksum ISBN-10 e l'ISSN
Prima tutte le cifre vengono moltiplicate singolarmente con un moltiplicatore. Il moltiplicatore corrisponde alla posizione della cifra 1 da destra. Vengono aggiunti tutti i prodotti risultanti. Il risultato viene quindi diviso per 11. Il resto risultante viene sottratto da 11 e restituisce la cifra di controllo.
Se il risultato 11 viene calcolato per questa procedura di checksum, il checksum è 0. Di conseguenza, lo 0 non poteva essere calcolato, perché nella fase precedente (in seguito la divisione per 11) 11 è impossibile.
Può anche accadere che sia richiesta la cifra 10. 10 è rappresentato da una X: "3-928444-00-X".

Un esempio di calcolo:

Cifre: 3 9 2 8 4 4 4 0 4
peso: 10 9 8 7 6 5 4 3 2
Risultati: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Calcola checksum: 251 / 11 = 22 rimanenza 9 -> 11 - 9 = 2
Cifra di controllo 2

Modulo 16

ActiveBarcode: Info ActiveBarcode calcola automaticamente le cifre di controllo per i codici a barre.
Non è necessario calcolare o aggiungere manualmente queste cifre di controllo. La presente documentazione è inclusa solo a titolo di completezza.
Calcolo di un checksum secondo il Modulo 16:
Il modulo 16 è utilizzato dalla simbologia dei codici a barre Codabar. Ecco un esempio di come calcolare la cifra di controllo secondo Modulo 16:

Cifre: A 7 8 9 A
Numeri di riferimento: 16 7 8 9 16
Somma dei numeri di riferimento: 56
Calcola checksum: 56 / 16 = 3 rimanenza 8
difference: 16 - 8 = 8
Cifra di controllo numero di riferimento 8 = 8

Numeri di riferimento:
00 = 0
01 = 1
02 = 2
03 = 3
04 = 4
05 = 5
06 = 6
07 = 7
08 = 8
09 = 9
10 = -
11 = $
12 = :
13 = /
14 = .
15 = +
16 = A
17 = B
18 = C
19 = D

Modulo 43

ActiveBarcode: Info ActiveBarcode calcola automaticamente le cifre di controllo per i codici a barre.
Non è necessario calcolare o aggiungere manualmente queste cifre di controllo. La presente documentazione è inclusa solo a titolo di completezza.
Calcolo di un checksum secondo il Modulo 43:
Una cifra di controllo secondo il Modulo 43 è utilizzata, ad esempio, dal Codice 39.

In primo luogo, i numeri di riferimento vengono assegnati a tutti i caratteri del codice. Questi numeri di riferimento vengono aggiunti a un totale. Questa somma è divisa per 43. Il resto di questa divisione corrisponde al checksum, che viene quindi sostituito dal carattere corrispondente al numero di riferimento è rappresentato.

Un esempio di calcolo:

Cifre: 1 5 9 A Z
Numeri di riferimento: 1 +5 +9 +10 +35
Somma dei numeri di riferimento: 60
Calcola checksum: 60 / 43 = 1 rimanenza 17
Cifra di controllo "H" (numero di riferimento 17)

Numeri di riferimento:
00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %


Esempio di codice per il calcolo del checksum in base al Modulo 43

Codice VBA di Excel per il calcolo del checksum in base al modulo 43, ad esempio per il codice HIBC:
' calc modulo 43
‘ returns the input string plus the check character
' demo for www.activebarcode.com
Public Function MOD43CheckChar(sValue As String) As String
    Const charSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
    Dim i As Integer
    Dim T As Long
    For i = 1 To Len(Trim(UCase(sValue)))
        T = InStr(charSet, Mid(sValue, i, 1)) - 1 + T
    Next i
    MOD43CheckChar = sValue & Mid$(charSet, (T Mod 43 + 1), 1)
End Function

Modulo 47

ActiveBarcode: Info ActiveBarcode calcola automaticamente le cifre di controllo per i codici a barre.
Non è necessario calcolare o aggiungere manualmente queste cifre di controllo. La presente documentazione è inclusa solo a titolo di completezza.
Calcolo di un checksum secondo il Modulo 47:
Un carattere di controllo secondo il Modulo 47 è utilizzato, ad esempio, dal Codice 93.

Il Codice 93 utilizza 2 checksum, il cosiddetto C checksum e il cosiddetto K checksum. Entrambi sono calcolati secondo lo stesso principio. Tuttavia, la somma di controllo K contiene anche la somma di controllo C.

Durante il calcolo, i numeri di riferimento vengono prima assegnati a tutti i caratteri del codice. A ogni cifra del codice viene assegnata una ponderazione ed è stata incrementale da dietro. Di conseguenza, l'ultima posizione ha il peso 1, la penultima posizione il peso 2 e così via. I numeri di riferimento vengono moltiplicati in ogni caso per la ponderazione. I singoli risultati risultanti vengono sommati.

Questo totale è ora diviso per 47. Il resto di questa divisione corrisponde al checksum, che viene codificato come carattere utilizzando il numero di riferimento.

La somma di controllo K viene determinata nello stesso modo. Tuttavia, questa volta viene utilizzata come base la stringa di caratteri del codice, come nel caso della prima checksum, più la checksum C. Il primo checksum determinato viene incluso nel calcolo del secondo checksum.

Un esempio di calcolo:

Checksum with Modulo47

Numeri di riferimento Code 93:

00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %
43 ($)
44 (%)
45 (/)
46 (+)
- * Start/Stop