List<_Byte> Transform(String data)

Source

static List<_Byte> Transform(String data) {
  String pattern = PatternFinder._Format(data);
  int length = pattern.length;

  if (length == 0) return [];

  List<_Byte> tempRes = [];

  if (length % 2 != 0) {
    pattern = pattern + '?';
    length++;
  } // end if

  int j = 0, a = 0x2;
  _Byte new_byte = new _Byte();
  for (int i = 0; i < length; i++) {
    String ch = pattern[i];

    if (ch == '?') // wildcard
    {
      if (j == 0) {
        new_byte.N1.Wildcard = true;
      } else {
        new_byte.N2.Wildcard = true;
      }
    } else {
      if (j == 0) {
        new_byte.N1.Wildcard = false;
        new_byte.N1.Data =
            (PatternFinder._HexChToInt(ch.codeUnitAt(0)) & 0xF);
      } // end if
      else {
        new_byte.N2.Wildcard = false;
        new_byte.N2.Data =
            (PatternFinder._HexChToInt(ch.codeUnitAt(0)) & 0xF);
      } // end else
    } // end else

    j++;
    if (j == 2) {
      j = 0;
      tempRes.add(new_byte.Clone());
    } // end if
  } // end for

  return tempRes;
}