Esempio n. 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());
        }
Esempio n. 2
0
        /// <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());
        }
Esempio n. 3
0
        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);
        }