Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
 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);
 }