public static void Main()
string grairesult = To170BitFormat("0540011105866538436");
System.Console.WriteLine(grairesult);
grairesult = To170BitFormat("80030540011105866538436");
System.Console.WriteLine(grairesult);
private const string Prefix = "8003";
private const int PrefixLength = 4;
private const int PaddingZeroLength = 1;
private const int EanLength = 13;
private const int SerialNumberLength170Bit = 6;
private const string NinoveRollCarEan = "5400111058665";
public static string To170BitFormat(string grai)
int preSerialNumberLength = PrefixLength + PaddingZeroLength + EanLength;
if (grai != null && grai.StartsWith(Prefix) && grai.Length >= preSerialNumberLength && grai.Substring(PrefixLength + PaddingZeroLength, EanLength) == NinoveRollCarEan)
result = grai.Substring(0, preSerialNumberLength) + grai.Substring(preSerialNumberLength).PadLeft(SerialNumberLength170Bit, '0');