Questa è una descrizione del calcolo delle cifre di assegno in base Modulo 43.
Calcolo di un checksum secondo il Modulo 43:
Una cifra di controllo secondo Modulo 43 viene 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:
Numeri di riferimento:
Una cifra di controllo secondo Modulo 43 viene 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