protected override string ParseText(string value, CodedValueCollection codes) { StringBuilder v = new StringBuilder(); foreach (char item in value.ToCharArray()) { v.Append(AsciiEncoder.Lookup(item)); } base.ParseText(v.ToString(), codes); return(value); }
protected override string ParseText(string value, CodedValueCollection codes) { value = base.ParseText(value, codes); string tmp = null; foreach (char item in value.ToCharArray()) { if (item == ' ') { codes.Add(38); } else if (item == '$') { codes.Add(39); } else if (item == '/') { codes.Add(40); } else if (item == '+') { codes.Add(41); } else if (item == '%') { codes.Add(42); } else if (item >= '0' && item <= '9') { codes.Add(item - 48); } else { tmp = AsciiEncoder.Lookup(item); switch (tmp[0]) { case '$': codes.Add(SHIFT1); codes.Add(tmp[1] - 55); break; case '%': codes.Add(SHIFT2); codes.Add(tmp[1] - 55); break; case '/': codes.Add(SHIFT3); codes.Add(tmp[1] - 55); break; case '+': codes.Add(SHIFT4); codes.Add(tmp[1] - 55); break; default: codes.Add(tmp[0]); break; } } } codes.Insert(0, LIMIT); codes.Add(LIMIT); codes.Add(TERMINATOR); return(value); }