Есть ли Unicode-символ, который выглядит как ASCII (но не равен)? - PullRequest
3 голосов
/ 05 августа 2010

Я хочу написать вопрос перед собеседованием (для java, но это не важно), у которого будет другой ответ, если вы посмотрите на него, если вы скопируете и вставите его и запустите , чтобы мы моглипроверьте, действительно ли люди решают проблему вручную .

Для этого я пытаюсь найти на экране символ юникода, который будет выглядеть так же, как символ ascii (так что в какой-то момент в моем вопросе у меня может быть два метода с одинаковыми именами, ноимеют аргументы типа Integer / int)

Я знаю, что это потенциально подрывно, но я надеюсь, что это даст дополнительную метрику для проверки других ответов.

Примечание: я пробовалтурецкое «я» - кажется, ascii - есть ли версия в юникоде?

Edit / NB: Похоже, мои намерения были неправильно поняты ... Эти вопросыпредназначены для выполнения вручную, а не компилятором.Если они копируют текст и компилируют, тогда они обходят вопрос, и это предназначено, чтобы сбить их с толку (или, проще говоря, дать неправильный ответ).Те, кто делает оба, либо поймут это, либо придут к настоящему собеседованию с замешательством, что мы сможем помочь им.

Заключительное примечание: :( это не похоже надействительно возможно - большинство редакторов (в windows) будут пытаться сохранить в cp1252 (каким-то образом мой 1-й файл был сохранен как UTF-8), и в этом случае я не думаю, что есть какие-либо символы, которые будут работать без запроса ошибки сохранения

Ответы [ 6 ]

4 голосов
/ 06 августа 2010

Есть много возможностей - вот пара, которую я нашел в Windows Character Map. Имейте в виду, что не все шрифты будут иметь эти символы, поэтому ваш кандидат может не увидеть, что вы собираетесь.

ǃ U+01C3: Latin Letter Retroflex Click
Κ U+039A: Greek Capital Letter Kappa
‚ U+201A: Single Low-9 Quotation Mark
′ U+2032: Prime
4 голосов
/ 05 августа 2010

Вы можете сделать что-то с таким же ощущением, но чуть менее туманным случаем:

System.out.println(100l);
System.out.println(1001);

В зависимости от используемого шрифта, эти два оператора могут выглядеть очень похожими.(Если это так с тем шрифтом, который вы используете, первое число будет 100L.)

2 голосов
/ 05 августа 2010

n-тире или m-тире - похожи на знак минус.

2 голосов
/ 05 августа 2010

Попробуйте кириллический символ, такой как «а» или «с».Посмотрите: http://jrgraphix.net/research/unicode_blocks.php?block=8

Хорошая идея, кстати, но я бы не стал делать ответ с перегрузкой методаЯ бы использовал переключающий случай итерации по строке.Таким образом, нет никаких подсказок, что что-то не так, и вы можете легко выбрать кандидатов, которые действительно знают свое дело.

1 голос
/ 30 января 2018

Консорциум Unicode имеет страницу, посвященную Confusables : http://unicode.org/cldr/utility/confusables.jsp

Это показывает, что есть много символов Unicode, которые похожи на символы ASCII:

  • Аналогично I: ? ? І ? ? ﺍ ﺎ ℐ ℑ ? ? ? ℓ ? ? ? ? ? ? ? ? 1 ? ? ? ? ? ? ? ? ? ?? l ? ⵏ ? ? ו ו ? ? ? ? ? ן ? ? ? ? ? ? ? ? ? ? ? ? |101 ⏽ ?

  • аналогично 5: ? 5 ? ? Ƽ ? ?

  • аналогично K: ? ? ? K ? ? ?101 ? Ⲕ ᛕ ꓗ Κ ? ? ? ? Ꮶ ? ? ? ? 101 ? ? 101

  • Аналогично :: ः ઃ ܃᠃ ׃ ܄։˸ ꞉ ᛬ ︰ ː ∶ ˸: : ⁚ ꓽ

Точная степень визуального сходства будет зависеть от вашего шрифта, но в большинстве шрифтов, по крайней мере, некоторые из глифов будут выглядеть идентичноASCII один.

1 голос
/ 06 августа 2010

Я действительно нашел что-то, что будет работать как в кодировке UTF-8, так и в кодировке cp1252 (так, чтобы оно прошло большинство (всех?) Текстовых редакторов): неразрывный пробел!

Зарегистрировано в позиции 16000A0, 10100000) в cp1252 и, по-видимому, UTF-8 (в википедии это отмечено в диапазоне «Второй, третий или четвертый байт многобайтовой последовательности»), он предоставляет символ, который будет «просто работать»

Примечание : это было проверено на работу с окнами при копировании из текстового файла / скайпа в редактор кода.Веб-страница Wordpress не так хорошо (но тогда это, вероятно, изменило характер в любом случае).К счастью, наша организация не придерживалась тактики «интервью» перед собеседованием, поэтому я не проверил это окончательно на веб-странице.

...