Hvis Du noen gang har prøvd Å sende En tom melding I Telegram, så har du sannsynligvis funnet ut at verken romskiltet eller newline-tegnet (Alt + Enter) sendes - inntastingsfeltet er ganske enkelt ryddet. Samtidig kan du se at andre mennesker bokstavelig talt sender deg et tomt rom, og de lykkes. Hvor er magien her? Hvis du vil ha et kort svar-setter de inn det" ødelagte " tegnet u+3164. Du kan kopiere den fra parentesene og bruke:" ㅤㅤㅤ". Hvis du vil ha et mer detaljert svar, nedenfor vil vi fortelle deg hvor den usynlige teksten kommer fra, hvordan du får og bruker den, hvorfor du ikke bør bruke den i koden og hvilke andre tegn det er.

Usynlig Symbol - hvordan fungerer det –

La oss starte forklaringen med tabeller med tegn og kodinger. Enhver datamaskin på maskinvarenivå forstår 2 tegn: 0 og 1. Dette er ikke praktisk for folk, fordi vi fortsatt er mer vant til bokstaver som dannes til ord, setninger, avsnitt og så videre. For å jobbe med disse bokstavene uten problemer, har vi kommet opp med en veldig enkel ordning - vi tar bokstavene i rekkefølge og gir dem unike tall: a = 1, b = 2, c = 3 og så videre. Vi gir også unike tall til store bokstaver, tegn (prikk, komma, spørsmålstegn og så videre), mellomrom og tall – en liste vevstoler en unik identifikator som er tildelt hver mulig karakter. Denne listen kalles tegnkodetabellen, og den forste kodetabellen er gjenkjent var ASCII:

Den andre halvdelen er tom. Det er ment for regionale tegn. Tabellen i seg selv er som en referanseinformasjon. Det er også en koding-et sett med instruksjoner for dekryptering av denne tabellen. Kodinger dukket opp på grunn av regionale standarder. De trengs for å lese tegn "riktig". Hvis vi tar kodingen som var vanlig i CIS på den tiden, vil det være en instruksjon i det: "for å få bokstaven "г" bruk 8x3 i ASCII"; hvis vi tar kodingen som ble brukt i Tyskland på den tiden, vil den bli skrevet: "for å få bokstaven "β" bruk 8x3".



Siden det var veldig ubeleilig på grunn av lokalisering på flere språk, ble Et nytt tegntabell, Unicode, oppfunnet og standardisert. Unicode kan inneholde mer enn 1 000 000 tegn. For Øyeblikket er ca 100 000 tegn lagt Til Unicode – så ytterligere 90% av cellene er tilgjengelige. En universell utf-koding ble oppfunnet For Unicode for å gjøre det lettere for designere å tegne skrifter(ja, for hver separat koding må designere tegne en egen skrift).

Det er nok bakgrunn-nå er det på tide å finne ut hvor den usynlige karakteren kommer fra. Det handler Om bugs Av Unicode: noen spesielle (kontroll og mellomrom) tegn oppfører seg ikke som beregnet. Den mest interessante gruppen av feil for oss er den usynlige karakteren. Poenget er at tegnet skal være spesielt og skal vises som et veldig lite mellomrom, men kodingen oppfatter det som et fullverdig tegn (som et brev eller et tall) og viser det som en stor plass. Du har kanskje allerede gjettet hvordan det usynlige området som et fullverdig tegn kan brukes-for å sette inn et rom der det ikke er gitt.

Usynlig tekst - hvordan kopiere og lime inn?

Til å begynne med vil vi informere deg om de triste nyhetene: selv disse kodende feilene blir gradvis løst. Tidligere (i 2012) var et triks populært i "Vkontakte" – det var mulig å sette inn et linjekontrolltegn i statusen, og statusen ble delt inn i 2 linjer. Nå kan du ikke gjøre dette – nettstedet behandler datautgangen riktig, og en slik innskrift bryter ikke lenger strengen:

I tillegg til &nsbp har sosiale nettverk og budbringere kuttet all kontroll og spesialtegn - du kan ikke slå teksten opp ned eller vise den bakover hvis den ikke opprinnelig er gitt av språket. Det finnes tjenester som https://textinvert.ru/, som lar deg endre teksten, men de slår den ikke opp og ned, men henter lignende bokstaver på andre språk. Det krever en spesiell algoritme. Det er ekstremt vanskelig å lage en stor tom tekst nå (selv om det fortsatt er mulig), men de usynlige emojiene og det tomme settet som brøt mange skrifter, er også løst nå. Alt som gjenstår er å sende tomme meldinger som disse:

Unicode U + 3164 for å sette inn et usynlig tegn

Så det mest nyttige er et usynlig rom, aka en "tom streng". Faktisk er det 3 av disse tegnene, her er deres koder:

Karakterens kode

Tegn

U+115F

U + 1160

U + 3164

For å se tegnet, dobbeltklikk på det i tabellen. "Word", forresten, fremhever litt symbolet i grått.

Som for resten av tegnene, det er fortsatt mellomrom tegn med adresser i området & # 8192 - &#8202, men vi testet dem og fant ut at budbringere oppfatter dem som vanlige mellomrom – derfor, de er ikke av interesse. Hvis du trenger dem uansett, eller du vil teste dem selv i ulike tjenester – her er noen flere mellomrom og kontrolltegn:

Karakterens kode

Hva betyr det?

Tegn

U+00A0

Plass uten gap

 

U + 2003

Em space

U + 2007

Curly space (hva det betyr)

U + 2008

Tegnsetting plass

U + 2009

Smal plass

U + 205F

Gjennomsnittlig math plass

U + 3000

Ideografisk plass

 

Når det gjelder de tre tegnene ovenfor, er de i utgangspunktet plassholdere for overlappende koreanske tegn. De betraktes som fullverdige tegn, selv om de er fyllstoffer. Kanskje skyldes denne oppførselen at når en plassholder brukes, bør hieroglyfen ikke overføres til en ny linje. Hvis tegnet regnes som et mellomrom, kan det oppstå en overføring (det avhenger av andre kontrolltegn). Uansett kan du kopiere et tomt tegn fra bordet og lime det inn hvor du trenger. Men hvor det kan settes inn-la oss se nedenfor.

Usynlig tekst I WhatsApp, Vk, Instagram, Discord og spill

Som vi allerede har sagt, har alle større plattformer sørget for at kontroll, spesielle og andre "ikke-standard" tegn blir kuttet ut under behandlingen. Derfor er anvendelsesområdet for slike symboler ekstremt begrenset, men på enkelte steder kan de fortsatt brukes.

WhatsApp, Viber, Telegram:

Hvis du setter inn et vanlig mellomrom, Så WhatsApp, som andre budbringere, lar deg ikke sende denne meldingen- "Send" - knappen vises ikke. U + 3164 kan sendes. Resultatet er en tom melding.

VK, Facebook Messenger:

Det er samme situasjon som med budbringere - du kan sende tomme meldinger til private meldinger. Forresten, du kan også sette U + 3164 i vk-statusen-den vil bli vist som en tom linje. Hvis du legger inn en vanlig plass, blir statusen slettet og påskriften "Set status" vil bli synlig.

Tiktok, Instagram: Det er ikke mulig å bruke det skjulte rommet. Begge plattformene betrakter skjult plass karakter som en vanlig plass.

Splid:

Discord lar deg sende tomme meldinger. Samtidig, hvis du prøver å lage en kanal med et tomt navn, Vil Discord ikke tillate deg å gjøre dette:

STILTE

Hvis jeg legger et usynlig tegn I Skype, vil statusen være "offline"?

Nei, du kan skrive tekst i kontostatuslinjen (inkludert et skjult mellomrom), statusen "online" eller "offline" endres ikke.

Hva er problemene med null-tegnet i programmeringen?

Du bør ikke bruke dem i koden din hvis du ikke vil ødelegge den. Hvis du trenger å bruke et tegn for lagring eller utgang, skriv det til en variabel eller til utgangen Med En Unicode-kode. Hvorfor er det bedre å ikke bruke det? Her er et eksempel for deg:

Som du kan se, har vi erklært en variabel som har mellomrom i navnet, som Python forbyder. Samtidig Advarer PyCharm om at noe er galt med denne variabelen:

Ikke bare bryter du språkets regler, du legger også en talte i hjulene dine: for å få tilgang til en variabel må du manuelt kopiere og lime inn navnet. Hvis du gjør noe prosjekt for deg selv og vil komplisere livet ditt, kan du bruke slike mellomrom, men hvis du jobber med noe seriøst prosjekt, ikke engang prøve å gjøre dette, ellers kommer du til å være i trøbbel.

Kan et spesielt tegn bryte oppsettet?

I teorien er dette mulig forutsatt at oppsettet er gjort skråt eller arver dårlige mønstre. Det er bedre å ikke bruke slike tegn i oppsettet, hvis du ikke vil hvis du ikke vil at alt skal bryte ned en dag.

Er det mulig a bruke disse symbolene for hacking?

Teknisk sett kan et av kontrolltegnene - '\0 ' - brukes til å hacke systemet gjennom et program skrevet I C. en null terminator indikerer til programmet at linjen er avsluttet, og ondsinnet kode kan skrives etter terminatoren. Men dette er veldig vanskelig, for det første må du finne et program som feil behandler innkommende linjer, og lar deg også kjøre skadelig kode fra andres minne. For omtrent 15 år siden var det en populær måte å hacking på, nå er det mer som en museumsutstilling av hacking.

STILTE

Hvis jeg legger et usynlig tegn I Skype, vil statusen være "offline"?

Nei, du kan skrive tekst i kontostatuslinjen (inkludert et skjult mellomrom), statusen "online" eller "offline" endres ikke.

Hva er problemene med null-tegnet i programmeringen?

Du bør ikke bruke dem i koden din hvis du ikke vil ødelegge den. Hvis du trenger å bruke et tegn for lagring eller utgang, skriv det til en variabel eller til utgangen Med En Unicode-kode. Hvorfor er det bedre å ikke bruke det? Her er et eksempel for deg:

Som du kan se, har vi erklært en variabel som har mellomrom i navnet, som Python forbyder. Samtidig Advarer PyCharm om at noe er galt med denne variabelen:

Ikke bare bryter du språkets regler, du legger også en talte i hjulene dine: for å få tilgang til en variabel må du manuelt kopiere og lime inn navnet. Hvis du gjør noe prosjekt for deg selv og vil komplisere livet ditt, kan du bruke slike mellomrom, men hvis du jobber med noe seriøst prosjekt, ikke engang prøve å gjøre dette, ellers kommer du til å være i trøbbel.

Kan et spesielt tegn bryte oppsettet?

I teorien er dette mulig forutsatt at oppsettet er gjort skråt eller arver dårlige mønstre. Det er bedre å ikke bruke slike tegn i oppsettet, hvis du ikke vil hvis du ikke vil at alt skal bryte ned en dag.

Er det mulig a bruke disse symbolene for hacking?

Teknisk sett kan et av kontrolltegnene - '\0 ' - brukes til å hacke systemet gjennom et program skrevet I C. en null terminator indikerer til programmet at linjen er avsluttet, og ondsinnet kode kan skrives etter terminatoren. Men dette er veldig vanskelig, for det første må du finne et program som feil behandler innkommende linjer, og lar deg også kjøre skadelig kode fra andres minne. For omtrent 15 år siden var det en populær måte å hacking på, nå er det mer som en museumsutstilling av hacking.