Niewidzialne postacie-ASCII

Czy są jakieś niewidzialne postacie? Sprawdziłem Google dla niewidzialnych znaków i skończyło się z wieloma odpowiedziami, ale nie jestem pewien, co do nich. Czy ktoś na Stack Overflow może mi powiedzieć coś więcej na ten temat?

Również sprawdziłem profil na Facebook i okazało się, że użytkownik nie ma żadnej nazwy do swojego profilu? Jak to możliwe? To jakiś problem z bazą danych? Hakowanie czy coś?

Kiedy przeszukałem Internet, odkryłem, że 200D jest ASCII wartość ze znakiem invisible . To prawda?

Author: Nisse Engström, 2013-07-31

5 answers

Sposób reprezentacji znaku zależy od renderera, ale serwer może również usunąć niektóre znaki przed wysłaniem dokumentu.

Możesz również mieć Bez tytułu filmy na YouTube, takie jak https://www.youtube.com/watch?v=dmBvw8uPbrA używając znaku Unicode ZERO WIDTH NON-JOINER (U+200C) , lub ‌ w HTML. Poniższy blok kodu powinien zawierać ten znak:

‌‌ 
 110
Author: Billybob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-12 20:55:42

Przejrzałem mapę postaci, żeby je zdobyć. Wszystkie są w Calibri.

Number    Name                   HTML Code    Appearance
------    --------------------   ---------    ----------
U+2000    En Quad                       " "
U+2001    Em Quad                       " "
U+2002    En Space                      " "
U+2003    Em Space                      " "
U+2004    Three-Per-Em Space            " "
U+2005    Four-Per-Em Space             " "
U+2006    Six-Per-Em Space              " "
U+2007    Figure Space                  " "
U+2008    Punctuation Space             " "
U+2009    Thin Space                    " "
U+200A    Hair Space                    " "
U+200B    Zero-Width Space       ​      "​"
U+200C    Zero Width Non-Joiner  ‌      "‌"
U+200D    Zero Width Joiner      ‍      "‍"
U+200E    Left-To-Right Mark     ‎      "‎"
U+200F    Right-To-Left Mark     ‏      "‏"
U+202F    Narrow No-Break Space         " "
 123
Author: FlameBlazer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-16 04:11:09

Istnieje naprawdę niewidzialna postać: U+FEFF. Znak ten nazywany jest znakiem porządku bajtów i jest związany z systemem Unicode 8. Jest to bardzo mylące pojęcie, które można wyjaśnić tutaj znak kolejności bajtów lub BOM w skrócie jest niewidzialnym znakiem, który nie zajmuje żadnej przestrzeni. Możesz skopiować poniższy znak pomiędzy > i <.

Oto postać:

>

Jak złapać tę postać w działanie:

  • skopiuj znak pomiędzy > i <,
  • napisz wiersz tekstu, a następnie losowo umieść karetkę w wierszu tekstu
  • Wklej znak w linii.
  • przejdź do początku linii i naciśnij i przytrzymaj klawisz strzałki w prawo.

Zauważysz, że gdy twój karetka dotrze do miejsca, w którym wkleiłeś postać, zatrzyma się na krótko na około pół sekundy. To dlatego, że karetka przechodzi przez niewidzialną postać. Nawet jeśli tego nie widzisz, to nie znaczy, że go tam nie ma. Karetka nadal widzi, że w tym obszarze jest postać, którą wkleiłeś BOM i przejdzie przez nią. Ponieważ BOM jest niewidoczny, karetka będzie wyglądać, jakby zatrzymała się na krótką chwilę. Możesz pominąć BOM wiele razy w obszarze i ponowić powyższe kroki, aby naprawdę pokazać wpływ. Powodzenia!

EDIT: niestety, Stackoverflow nie lubi postaci. Oto przykład z w3.org: https://www.w3.org/International/questions/examples/phpbomtest.php

 7
Author: Mr PizzaGuy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-26 16:28:59

Inne odpowiedzi są poprawne - to, czy znak jest niewidoczny, zależy od czcionki, której używasz. Wydaje mi się, że jest to całkiem dobra lista postaci, które są naprawdę niewidoczne (nawet nie spacja). Zawiera kilka znaków, których brakuje na innych listach.

            '\u2060', // Word Joiner
            '\u2061', // FUNCTION APPLICATION
            '\u2062', // INVISIBLE TIMES
            '\u2063', // INVISIBLE SEPARATOR
            '\u2064', // INVISIBLE PLUS
            '\u2066', // LEFT - TO - RIGHT ISOLATE
            '\u2067', // RIGHT - TO - LEFT ISOLATE
            '\u2068', // FIRST STRONG ISOLATE
            '\u2069', // POP DIRECTIONAL ISOLATE
            '\u206A', // INHIBIT SYMMETRIC SWAPPING
            '\u206B', // ACTIVATE SYMMETRIC SWAPPING
            '\u206C', // INHIBIT ARABIC FORM SHAPING
            '\u206D', // ACTIVATE ARABIC FORM SHAPING
            '\u206E', // NATIONAL DIGIT SHAPES
            '\u206F', // NOMINAL DIGIT SHAPES
            '\u200B', // Zero-Width Space
            '\u200C', // Zero Width Non-Joiner
            '\u200D', // Zero Width Joiner
            '\u200E', // Left-To-Right Mark
            '\u200F', // Right-To-Left Mark
            '\u061C', // Arabic Letter Mark
            '\uFEFF', // Byte Order Mark
            '\u180E', // Mongolian Vowel Separator
            '\u00AD'  // soft-hyphen
 0
Author: Varun Mathur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-26 07:42:25

Niewidzialny znak to , lub U+200b

 -2
Author: avcado,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-09 21:38:25