private static string GetPlateNumber(string platenumber) { StringBuilder sb = new StringBuilder(); int index = 0; platenumber = platenumber.PadRight(8, '~'); if (platenumber[0] == 'W' && platenumber[1] == 'J') { if (platenumber.Length != 7) { sb.AppendFormat("{0:X2}", 36); index = 2; } } for (int a = index; a < platenumber.Length; a++) { string strchar = platenumber[a].ToString(); if (CRegex.IsChinese(strchar)) { PlateProvinces.Provinces provincenumber = (PlateProvinces.Provinces)Enum.Parse(typeof(PlateProvinces.Provinces), strchar); sb.AppendFormat("{0:X2}", (int)provincenumber); } else { sb.AppendFormat("{0:X2}", Encoding.ASCII.GetBytes(strchar)[0]); } } return(sb.ToString()); }
private static string PlateNumberToHex(string platenumber) { StringBuilder sb = new StringBuilder(); int index = 0; platenumber = platenumber.PadRight(8, '~'); if (platenumber[0] == 'W' && platenumber[1] == 'J') { if (platenumber.Length != 7) { sb.Append($"{36:X2}"); index = 2; } } for (int i = index; i < platenumber.Length; i++) { string strChar = platenumber[i].ToString(); if (CRegex.IsChinese(strChar)) { int province = (int)Enum.Parse(typeof(PlateProvinces.Provinces), strChar); sb.Append($"{province:X2}"); } else { sb.Append($"{Encoding.ASCII.GetBytes(strChar)[0]:X2}"); } } return(sb.ToString()); }
private static byte[] LincensePlateToByte(string licenseplate) { byte[] by = new byte[9]; Encoding.Default.GetBytes(licenseplate, 0, licenseplate.Length, by, 0); if (licenseplate.Length == 7) { string charlicenseplate = licenseplate[6].ToString(); if (CRegex.IsChinese(charlicenseplate)) { by[7] = (byte)(PlateProvinces.Provinces)Enum.Parse(typeof(PlateProvinces.Provinces), charlicenseplate); } by[8] = 126; } //by[9] = 48; return(by); }