I needed to do some work with barcodes recently, specifically I needed to handle Code 39 Mod 43 barcodes.

Given a barcode string this function should return the relevant Mod 43 checksum.

  1. public class Code39
  2.     {
  3.         ///
  4.         ///Returns the expected checksum for the specified barcode
  5.         ///
  6.         ///
  7.         ///
  8.         public string ValidateMod43(string barcode)
  9.         {
  10.             int subtotal = 0;
  11.             const string charSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%";
  12.  
  13.             for (int i = 0; i < barcode.Length; i++)
  14.             {
  15.                 subtotal += charSet.IndexOf(barcode.Substring(i, 1));
  16.             }
  17.  
  18.             return charSet.Substring(subtotal%43, 1);
  19.         }
  20.     }

I adapted this from a VBA script so if there’s a better way of doing it let me know!

Build better ASP.NET web applications, faster

I email every week with hints, tips and advice on how to push through all the noise to get your ASP.NET applications built.

Drop your email in the box below and I'll send new articles straight to your inbox.

I respect your email privacy. No spam, unsubscribe anytime with one click.