Сходство некоторых русских и английских букв достаточно часто используется как средство защиты. Типичный пример, сайты тестирования. Отвечая на вопрос, а что выдаст программа:
#include <stdio.h>
int main()
{
unsignеd int а, b, с;
а = 1; b = 2; с = 3;
рrintf("%d %d", а < b + с, а - b < с);
}
так и хочется открыть online-компилятор и проверить. Но открыв, например,
liveworkspace.org, запустив данную программу мы получим кучу ошибок:
Compilation finished with errors:
source.cpp:4:4: error: stray '\320' in program
source.cpp:4:4: error: stray '\265' in program
...
source.cpp:6:2: error: stray '\201' in program
source.cpp: In function 'int main()':
source.cpp:4:4: error: 'unsign' was not declared in this scope
source.cpp:4:12: error: expected ';' before 'd'
source.cpp:5:5: error: expected primary-expression before '=' token
source.cpp:5:10: error: 'b' was not declared in this scope
source.cpp:5:20: error: expected primary-expression before '=' token
source.cpp:6:22: error: expected primary-expression before '<' token
source.cpp:6:30: error: expected primary-expression before ',' token
source.cpp:6:44: error: expected primary-expression before ')' token
source.cpp:6:44: error: 'rintf' was not declared in this scope
Или найдите слово "Маша" на данной странице в следующем фрагменте (через поиск):
Maшa eлa кaшy.
Встаёт вопрос: а как закодировать и декодировать подобное содержимое.