Можете ли вы передать не-ascii символы в argv? - PullRequest
0 голосов
/ 06 мая 2018

Предположим, у вас есть двоичный исполняемый файл, который принимает аргумент командной строки.

./process in

В этом случае ввод будет: «i» = 0x69, а «n» = 0x6E

В любом случае я мог бы передать определенные байты в качестве входных данных, а не ASCII?

То есть я хочу передать 0xF9.

0xF9 = 11111001

Обратите внимание, что нет символа ASCII (который я знаю), который я мог бы напечатать на экране, который оценил бы до 1111 1001 в двоичном виде (из-за ограничения ASCII диапазоном 0-127).

Но, увы, я хочу, чтобы этот исполняемый файл получал в качестве входных данных байт 0xF9.

Исполняемый файл исправлен; У меня нет исходного кода для него, и я не могу его изменить.

1 Ответ

0 голосов
/ 06 мая 2018

В те дни MS-DOS вы могли бы ввести 0xF9 = 11111001 = 249 с помощью комбинации клавиш ALT - 2 4 9 набирается на клавиатуре.

Для Windows это все еще работает, как объяснено в этой статье .

Для Linux / Unix вы можете использовать аналогичный подход, используя комбинацию клавиш, описанную в в этом ответе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...