Не могу понять тип данных персонажа в REXX
Я пытаюсь выяснить тип данных конкретного символа, используя REXX. В основном я читаю отчет, а затем прохожу каждую строку. В каждой строке есть один персонаж, который по-разному воспринимается всеми остальными, и я не могу понять, что REXX думает.
Значение (сам символ) определяется как подстрока строки длиной один символ в переменной с именем value
,
Пока это то, что я знаю:
SAY DATATYPE(value);
возвращается CHAR
Я знаю, что это персонаж.
SAY DATATYPE(value, "A");
SAY DATATYPE(value, "B");
SAY DATATYPE(value, "L");
SAY DATATYPE(value, "M");
SAY DATATYPE(value, "N");
SAY DATATYPE(value, "S");
SAY DATATYPE(value, "U");
SAY DATATYPE(value, "W");
SAY DATATYPE(value, "X");
SAY value = "";
SAY value = " ";
SAY value = NULL;
Все возвращаются 0
,
И наконец:
SAY LENGTH(value);
Возвращает 1
так что там определенно что-то есть. Я продолжаю бить кирпичную стену для этого конкретного персонажа.
2 ответа
Вы удалили все символы, которые могут быть специальными значениями ("Буквенно-цифровые" - az, AZ, 0-9; "Двоичные" - 0-1; "Нижний регистр" - az; "Смешанный регистр" - az, AZ; "Число "- 0-9;" Символ "- az, AZ, 0-9,?, _, .,!; " Прописные буквы "- AZ;" Целое число "- 0-9;" шестнадцатеричный "- af, AF, 0-9), так что это что-то еще. Обратите внимание, что большинство этих групп символов перекрывают друг друга - все, что вы действительно подтвердили, это то, что это не AZ, az, 0-9,?, _, . Или!.
Как сказал выше Брюс, но ты еще не сделал, положи
say c2x(value)
в вашем коде и узнайте, что он показывает как шестнадцатеричное значение.