Ако някога сте се опитвали да изпратите празно съобщение в Телеграм, тогава най - вероятно сте разбрали, че нито знака за интервал, нито знака за нов ред (алтернативен + Въведете) са изпратени-полето за въвеждане е просто изчистено. В същото време можете да видите, че други хора буквално ви изпращат празно пространство и те успяват. Къде е магията тук? Ако искате кратък отговор-те вмъкват знака" счупен " Ф + 3164. Можете да го копирате от скобите и да използвате: "ㅤㅤㅤ". Ако искате по-подробен отговор, по-долу ще ви кажем откъде идва Невидимият текст, как да го получите и използвате, защо не трябва да го използвате в кода и какви други знаци има.

Невидим символ – как работи?

Нека започнем обяснението с таблици от знаци и кодировки. Всеки компютър на хардуерно ниво разбира 2 символа: 0 и 1. Това не е удобно за хората, защото все още сме свикнали с букви, които се оформят в думи, изречения, параграфи и т.н. За да работим с тези букви без никакви проблеми, измислихме много проста схема-вземаме буквите в ред и им даваме уникални числа: а = 1, б = 2, с = 3 и т.н. Също така даваме уникални номера на главни букви, знаци (точка, запетая, въпросителен знак и т.н.), празно пространство и числа – списък се очертава уникален идентификатор, който се присвоява на всеки възможен знак. Този списък се нарича таблица с код на знаците, а първата таблица с код е разпозната.:

Втората половина е празна. Тя е предназначена за регионални характеристики. Самата таблица е като справочна информация. Има и кодиране-набор от инструкции за декриптиране на тази таблица. Кодексите се появиха заради регионалните стандарти. Те са необходими, за да се четат героите "правилно". Ако вземем кодирането, което е било обичайно в ОНД по това време, тогава ще има инструкция в него: "за да получите буквата "г" използвайте 8х3 в АСКИИ"; ако вземем кодирането, използвано в Германия по това време, тогава ще бъде написано: "за да получите писмото "β" използвайте 8х3".



Тъй като било ужасно неудобно поради локализацията на няколко езика, била измислена и стандартизирана нова знакова таблица, Уникод. Уникод може да съдържа повече от 1 000 000 знака. В момента към Уникод са добавени около 100 000 знака – така че други 90% от клетките са налични. За Уникод е изобретено универсално кодиране на НТУ, за да се улеснят дизайнерите при изчертаването на шрифтове (да, за всяко отделно кодиране дизайнерите трябва да нарисуват отделен шрифт).

Това е достатъчно фон – сега е време да разберете откъде идва Невидимият герой. Всичко е свързано с бъговете на Уникод: някои специални (контролни и бели) знаци не се държат по предназначение. Най-интересната група от бъгове за нас е невидимият характер. Въпросът е, че знакът трябва да бъде специален и трябва да се показва като много малко празно пространство, но кодирането го възприема като пълноправен характер (като буква или число) и го показва като голямо пространство. Може би вече сте се досетили как може да се използва невидимата област като пълноправен знак–да вмъкнете пространство, където не е предвидено.

Невидим текст - как да копирате и поставяте?

Първо, ще Ви информираме за тъжната новина: дори тези бъгове за кодиране постепенно се фиксират. По – рано (през 2012 г.) в "Вконтакте" беше популярен трик-беше възможно да се вмъкне знак за контрол на нов ред в статуса и статусът беше разделен на 2 реда. Сега не можете да направите това – сайтът обработва правилно изходните данни и такъв надпис вече не нарушава низа:

В допълнение към това, социалните мрежи и месинджърите са отрязали всички контролни и специални знаци – не можете да обърнете текста с главата надолу или да го покажете назад, ако първоначално не е предоставен от езика. Съществуват услуги като https://textinvert.ru/, които ви позволяват да променяте текста, но те не го обръщат с главата надолу, а вземат подобни букви на други езици. Изисква специален алгоритъм. Изключително трудно е да се създаде голям празен текст сега (въпреки че все още е възможно), но невидимите емотикони и знакът за празен набор, който счупи много шрифтове, също са фиксирани сега. Всичко, което остава, е да изпращате празни съобщения като тези.:

Уникод Ф + 3164 за вмъкване на невидим знак

Така че най-полезното нещо е невидимо пространство, известно още като "празна струна". Всъщност, има 3 от тези знаци, тук са техните кодове:

Код на героя

Характер

Ф + 115Е

+1160

+3164

За да видите знака, щракнете двукратно върху него в таблицата. "Дума", между другото, леко подчертава символа в сиво.

Що се отнася до останалите символи, все още има бели букви с адреси в областта &#8192 – &#8202, но ги тествахме и установихме, че пратениците ги възприемат като обикновени пространства – следователно те не представляват интерес. Ако така или иначе имате нужда от тях или искате да ги тествате сами в различни услуги-ето още няколко пространства и контролни знаци:

Код на героя

Какво означава?

Характер

У+00А0

Пространство без празнина

 

+2003 г

Ем пространство

САЩ + 2007

Къдрава пространство (каквото и да означава това)

Ф+2008

Пунктуационно пространство

Ф+2009

Тясно пространство

Ф + 205Е

Средно математическо пространство

+3000

Идеографско пространство

 

Що се отнася до трите по-горе знаци, първоначално те са контейнери за припокриващи се корейски символи. Те се считат за пълноправни герои, въпреки че са пълнители. Може би това поведение се дължи на факта, че когато се използва контейнер, йероглифът не трябва да се прехвърля на нова линия. Ако знакът се счита за празно пространство, може да възникне прехвърляне (зависи от други контролни знаци). Както и да е, можете да копирате празен знак от таблицата и да го поставите, където ви е необходимо. Но къде може да се вмъкне – нека видим по-долу.

Невидим текст в Уотсап, ВК, Инстаграм, раздори и игри and

Както вече казахме, всички основни платформи са се уверили, че по време на обработката са изрязани контролни, специални и други "нестандартни" знаци. Следователно обхватът на приложение на такива символи е изключително ограничен, въпреки че на някои места те все още могат да се използват.

Уатсап, Вибер, Телеграма:

Ако вмъкнете редовно празно пространство, тогава Уотсап, подобно на други пратеници, не ви позволява да изпратите това съобщение – бутонът "Изпрати" не се появява. +3164 може да бъде изпратен. Резултатът е празно съобщение.

ВК, Фейсбук месинджър Facebook:

Има същата ситуация като при пратениците – можете да изпращате празни съобщения до лични съобщения. Между другото, можете също да поставите Ф+3164 в статус ВК – той ще се покаже като празен ред. Ако поставите редовно място, състоянието ще бъде изтрито и надписът "Задайте статус" ще бъде видим.

Тик-Ток, Инстаграм Instagram: Няма възможност за използване на скритото пространство. И двете платформи разглеждат скритото пространство като нормално пространство.

Раздори:

Раздорът ви позволява да изпращате празни съобщения. В същото време, ако се опитате да създадете канал с празно име, Раздорът няма да ви позволи да направите това.:

ЧЗВ

Ако сложа невидим символ в скайп, статусът ще бъде ли "офлайн"?

Не, можете да напишете всеки текст в лентата за състоянието на профила (включително скрито място), състоянието "онлайн" или "офлайн" няма да се промени.

Какви са проблемите с нулевия знак в програмирането?

Не трябва да ги използвате в кода си, ако не искате да го съсипете. Ако трябва да използвате знак за съхранение или изход, напишете го на променлива или на изход с Уникод-код. Защо е по-добре да не го използваме? Ето един пример за вас:

Както можете да видите, ние сме декларирали променлива, която има интервали в името, което питон забранява. В същото време, Пичарм предупреждава, че нещо не е наред с тази променлива:

Не само нарушавате правилата на езика, но и поставяте спици в колелата си: за да получите достъп до променлива, ще трябва ръчно да копирате и поставите името й. Ако правите някакъв проект за себе си и искате да усложните живота си, можете да използвате такива пространства, но ако работите по някакъв сериозен проект, дори не се опитвайте да направите това, в противен случай ще бъдете в беда.

Може ли специален знак да наруши оформлението?

На теория това е възможно при условие, че оформлението е направено криво или наследява лоши модели. По-добре е да не използвате такива знаци в оформлението, ако не искате, ако не искате всичко да се разпадне един ден.

Възможно ли е да се използват тези символи за хакерство?

Технически, един от контролните знаци - '\0 ' - може да се използва за хакване на системата чрез програма, написана в с.нулевият Терминатор показва на програмата, че линията е приключила и след Терминатора може да бъде написан зловреден код. Но това е много трудно, защото първо трябва да намерите програма, която неправилно обработва входящите линии, а след това също ви позволява да стартирате зловреден код от паметта на някой друг. Преди около 15 години това беше популярен начин за хакерство, сега е по-скоро като музейна изложба на хакерство.