binary scan
string formatString?varName varName...?
Шаблон formatString содержит последовательность из нуля или более спецификаторов преобразования, разделенных одним или более пробелами. Каждый спецификатор преобразования состоит из буквы, за которой может следовать число count. Как правило, спецификатор использует один из аргументов arg чтобы получить величину для форматирования. Буква в спецификаторе указывает тип преобразования (форматирования). Число count обычно указывает сколько объектов для форматирования выбирается из значения arg. Соответственно, count должно быть неотрицательным десятичным числом. Если значение count равно ‘*’, это обычно указывает, что надо использовать все значение аргумента. Если число аргументов arg не соответствует числу спецификаторов, требующих для себя дополнительного аргумента, выдается ошибка.
Обычно результат каждого нового преобразования дописывается в конец возвращаемой строки. Однако, с помощью специальных спецификаторов точку ввода нового значения (курсор) можно передвигать по формируемой строке.
Ниже приведены допустимые значения спецификаторов
преобразований и описаны соответствующие преобразования.
binary format a7a*a alpha bravo charlie
вернет строку, эквивалентную alpha\000\000bravoc.
binary format A6A*A alpha bravo charlie
вернет alpha bravoc.
binary format b5b* 11100 111000011010
вернет строку, эквивалентную \x07\x87\x05.
binary format B5B* 11100 111000011010
вернет строку, эквивалентную \xe0\xe1\xa0.
Например, команда
вернет строку, эквивалентную \xba\xed\x0f.
вернет строку, эквивалентную \xab\xde\xf0.
Например, команда
вернет строку, эквивалентную \x03\xfd\x80\x01\x02\x05,
тогда как команда
вернет ошибку.
вернет строку, эквивалентную \x03\x00\xfd\xff\x02\x01.
вернет строку, эквивалентную \x00\x03\xff\xfd\x01\x02.
вернет строку, эквивалентную \x03\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x10\x00
вернет строку, эквивалентную
\x00\x00\x00\x03\xff\xff\xff\xfd\x00\x10\x00\x00
вернет строку, эквивалентную
\xcd\xcc\xcc\x3f\x9a\x99\x59\x40.
вернет строку, эквивалентную
\x9a\x99\x99\x99\x99\x99\xf9\x3f.
вернет строку, эквивалентную abc\000def\000\000ghi.
вернет dghi.
вернет ‘2’. В переменной var1
будет записано ‘01110’. В переменной var2 — ‘1000011100000101’.
вернет `2’. В переменной var1
будет записано 706. В переменной var2 — ‘50`.
вернет ‘2.’. В переменной var1
будет записано “078.”. В переменной var2 — ‘05’.
вернет ‘2’. В переменной var1
будет записана строка “7 -122". В переменной var2 — ‘5’.
Обратите внимание, что команда возвращает числа со знаком. Чтобы преобразовать
их в числа без знака можно использовать выражение:
вернет ‘2’. В переменной var1
будет записана строка '5 7'. В переменной var2 — ‘-16’.
Обратите внимание, что команда возвращает числа со знаком. Чтобы преобразовать
их в числа без знака можно использовать выражение:
вернет ‘2’. В переменной var1
будет записана строка '5 7'. В переменной var2 — ‘-16’.
binary\x00\x00\x00\x05\x00\x00\x00\x07\xff\xff\xff\xf0 I2I* var1 var2
вернет ‘2’. В переменной var1 будет записана строка “5 7". В переменной var2 — ‘-16’.
вернет ‘1’. В переменной var1
будет записано ‘1.6000000238418579’.
binary scan\x9a\x99\x99\x99\x99\x99\xf9\x3f d var1
вернет ‘1’. В переменной var1 будет записано ‘1.6000000000000001’.
вернет ‘1’. В переменной var1
будет ‘0304’. Преобразование не требует дополнительной переменной
varName.
вернет ‘2’. В переменной var1
будет ‘1 2’. В переменной var2— ‘020304’.. Преобразование
не требует дополнительной переменной varName.
вернет ‘2’. В переменной var1
будет ‘1 2’. В переменной var2 — ‘020304’. Преобразование
не требует дополнительной переменной varName.