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','-','.',' ','$',
'/','+','%'
};
///
/// モジュラス43 計算
/// CODE39
///
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 件のコメント:
コメントを投稿