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()); }
/// <summary> /// 将车牌号的汉字转成编号 /// </summary> /// <param name="lprnumber"></param> private static string GetLprNumber(string lprnumber) { StringBuilder sb = new StringBuilder(); int index = 0; lprnumber = lprnumber.PadRight(8, '~'); if (lprnumber[0] == 'W' && lprnumber[1] == 'J') { if (lprnumber.Length != 7) { sb.AppendFormat("{0:X2}", 36); index = 2; } } for (int a = index; a < lprnumber.Length; a++) { if (CRegex.GetChinese(lprnumber[a].ToString())) { PlateProvinces.Provinces lpr = (PlateProvinces.Provinces)Enum.Parse(typeof(PlateProvinces.Provinces), lprnumber[a].ToString()); int str = (int)lpr; sb.AppendFormat("{0:X2}", str); } else { sb.AppendFormat("{0:X2}", Encoding.ASCII.GetBytes(lprnumber[a].ToString())[0]); } } return(sb.ToString()); }
private static string GetLicensePlate(byte[] by, int start, int count) { string license = string.Empty; byte[] newby = new byte[count]; Array.Copy(by, start, newby, 0, count); if (newby[8] != 126) { license = Encoding.Default.GetString(newby, 0, 9); } else { if (newby[7] < 48) { license = Encoding.Default.GetString(newby, 0, 7); PlateProvinces.Provinces lincesenumber = (PlateProvinces.Provinces)newby[7]; license += lincesenumber.ToString(); } else { license = Encoding.Default.GetString(newby, 0, 8); } } return(license); }