- private static char[] modulus43CharList =
- {
- '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','-','.',' ','$',
- '/','+','%'
- };
- /// <summary>
- /// モジュラス43 計算
- /// CODE39
- /// </summary>
- public static string GetModulus43(string Value)
- {
- if (!Regex.IsMatch(Value, @"^[A-Z|0-9|\-|.| |$|/|+|%]+$"))
- {
- throw new FormatException();
- }
- long x = 0;
- for (int i = 0; i < Value.Length; i++)
- {
- x += Array.IndexOf(modulus43CharList, Value[i]);
- }
- return modulus43CharList[x % 43].ToString();
- }
2013年7月9日火曜日
C#でモジュラス43の計算
バーコードのCode39で使うチェックディジットです
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿