Nëse keni provuar ndonjëherë të dërgoni një mesazh bosh Në Telegram, atëherë ka shumë të ngjarë të zbuloni se as shenja hapësinore dhe as shenja e linjës së re (Alt + Enter) nuk janë dërguar - fusha e hyrjes thjesht pastrohet. Në të njëjtën kohë, ju mund të shihni se njerëzit e tjerë fjalë për fjalë ju dërgojnë një hapësirë boshe, dhe ata kanë sukses. Ku është magjia këtu? Nëse doni një përgjigje të shkurtër-ata futin karakterin "thyer" u+3164. Mund ta kopjoni nga kllapat dhe të përdorni: "ㅤㅤㅤ". Nëse doni një përgjigje më të detajuar, më poshtë do t'ju tregojmë se nga vjen teksti i padukshëm, si ta merrni dhe përdorni, pse nuk duhet ta përdorni në kod dhe cilat karaktere të tjera ka.
Simboli i padukshëm - si funksionon?
Le ta fillojmë shpjegimin me tabela të karaktereve dhe kodimeve. Çdo kompjuter në nivelin e harduerit kupton 2 karaktere: 0 dhe 1. Kjo nuk është e përshtatshme për njerëzit, sepse ne jemi akoma më të mësuar me shkronja që formohen në fjalë, fjali, paragrafë etj. Për të punuar me këto shkronja pa ndonjë problem, ne kemi dalë me një skemë shumë të thjeshtë – marrim shkronjat në rregull dhe u japim atyre numra unikë: a = 1, b = 2, c = 3 etj. Ne gjithashtu u japim numra unikë shkronjave të mëdha, shenjave (pikë, presje, pikëpyetje etj.), hapësirës së bardhë dhe numrave – një listë afrohet një identifikues unik i cili i caktohet secilit karakter të mundshëm. Kjo listë quhet tabela e kodit të karakterit, dhe tabela e parë e kodit njihet ishte ASCII:
Pjesa e dytë është bosh. Ajo është menduar për karaktere rajonale. Tabela në vetvete është si një informacion referimi. Ekziston edhe një kodim – një grup udhëzimesh për deshifrimin e kësaj tabele. Kodifikimet u shfaqën për shkak të standardeve rajonale. Ato janë të nevojshme për të lexuar karakteret "saktë". Nëse marrim kodimin që ishte i zakonshëm në CIS në atë kohë, atëherë do të ketë një udhëzim në të: "për të marrë shkronjën "г" përdorni 8X3 NË ASCII"; nëse marrim kodimin që u përdor në Gjermani në atë kohë, atëherë do të shkruhet: "për të marrë shkronjën "β" përdorni 8x3".
Meqenëse ishte jashtëzakonisht e papërshtatshme për shkak të lokalizimit në disa gjuhë, u shpik dhe standardizua një tabelë e re karakteri, Unicode. Unicode mund të përmbajë më shumë se 1,000,000 karaktere. Për momentin Rreth 100,000 karaktere janë shtuar Në Unicode – kështu që, 90% e qelizave të tjera janë në dispozicion. Një kodim UNIVERSAL UTF u shpik Për Unicode për ta bërë më të lehtë për projektuesit të vizatojnë shkronja (po, për secilin kodim të veçantë, projektuesit duhet të vizatojnë një font të veçantë).
Kjo është sfond i mjaftueshëm-tani është koha për të zbuluar se nga vjen personazhi i padukshëm. Kjo është e gjitha në lidhje me bugs E Unicode: disa karaktere të veçanta (kontrolli dhe whitespace) nuk sillen si qëllim. Grupi më interesant i gabimeve për ne është karakteri i padukshëm. Çështja është se shenja duhet të jetë e veçantë dhe duhet të shfaqet si një hapësirë \ u200b \ u200be bardhë shumë e vogël, por kodimi e percepton atë si një karakter të plotë (si një letër ose një numër) dhe e shfaq atë si një hapësirë të madhe. Ju mund të keni menduar tashmë se si mund të përdoret zona e padukshme si një shenjë e plotë–për të futur një hapësirë ku nuk sigurohet.
Teksti i padukshëm-si të kopjoni dhe ngjisni?
Për të filluar, ne do t'ju informojmë për lajmin e trishtuar: edhe këto gabime të kodimit gradualisht po rregullohen. Më parë (në 2012), një mashtrim ishte popullor në "Vkontakte" – ishte e mundur të futej një karakter i ri i kontrollit në status, dhe statusi ishte i ndarë në 2 rreshta. Tani nuk mund ta bëni këtë-faqja përpunon daljen e të dhënave në mënyrë korrekte, dhe një mbishkrim i tillë nuk e thyen më vargun:
Përveç &nsbp, rrjetet sociale dhe lajmëtarët kanë prerë të gjithë kontrollin dhe karakteret speciale – nuk mund ta ktheni tekstin me kokë poshtë ose ta shfaqni atë prapa nëse nuk sigurohet fillimisht nga gjuha. Ka shërbime si https://textinvert.ru/, të cilat ju lejojnë të ndryshoni tekstin, por ato nuk e kthejnë atë me kokë poshtë, por marrin shkronja të ngjashme në gjuhë të tjera. Kërkon një algoritëm të veçantë. Extremelyshtë jashtëzakonisht e vështirë të krijosh një tekst të madh bosh tani (megjithëse është akoma e mundur), por emojit e padukshëm dhe shenja e vendosur bosh që theu shumë shkronja janë gjithashtu të fiksuara tani. E vetmja gjë që mbetet është të dërgoni mesazhe boshe si këto:
Unicode U + 3164 për futjen e një karakteri të padukshëm
Pra, gjëja më e dobishme është një hapësirë e padukshme, aka një "varg bosh". Në fakt, ka 3 nga këto karaktere, këtu janë kodet e tyre:
Kodi i personazhit |
Karakteri |
U+115F |
ᅟ |
U+1160 |
ᅠ |
U+3164 |
ㅤ |
Për të parë karakterin, klikoni dy herë mbi të në tabelë. "Fjala", nga rruga, nxjerr në pah pak simbolin në gri.
Sa për pjesën tjetër të karaktereve, ka ende karaktere whitespace me adresat në fushën e   –  , por ne testuar ato dhe kuptova se lajmëtarët perceptojnë ato si hapësira të zakonshme – prandaj, ata nuk janë me interes. Nëse keni nevojë për to gjithsesi ose doni t'i provoni vetë në shërbime të ndryshme-këtu janë disa hapësira më shumë dhe karaktere kontrolli:
Kodi i personazhit |
Çfarë do të thotë? |
Karakteri |
U+00A0 |
Hapësirë pa boshllëk |
|
U+2003 |
Hapësira Em |
|
U+2007 |
Hapësira kaçurrel (çfarëdo që do të thotë) |
|
U+2008 |
Hapësira e pikësimit |
|
U+2009 |
Hapësirë e ngushtë |
|
U+205F |
Hapësira mesatare e matematikës |
|
U+3000 |
Hapësira ideografike |
|
Sa i përket tre personazheve të mësipërm, fillimisht ato janë mbajtës të vendeve për mbivendosjen e karaktereve koreane. Ata konsiderohen si karaktere të plota, megjithëse janë mbushës. Ndoshta kjo sjellje është për shkak të faktit se kur përdoret një mbajtës vendi, hieroglifi nuk duhet të transferohet në një linjë të re. Nëse personazhi konsiderohet një hapësirë e bardhë, mund të ndodhë një transferim (kjo varet nga personazhet e tjerë të kontrollit). Gjithsesi, ju mund të kopjoni një karakter bosh nga tabela dhe ngjitur atë kudo që ju nevojitet. Por ku mund të futet – le të shohim më poshtë.
Teksti i padukshëm Në WhatsApp, VK, Instagram, Discord Dhe lojëra
Siç e kemi thënë tashmë, të gjitha platformat kryesore janë siguruar që kontrolli, karakteret speciale dhe të tjera "jo standarde" të priten gjatë përpunimit. Prandaj, fusha e zbatimit të simboleve të tilla është jashtëzakonisht e kufizuar, megjithëse në disa vende ato ende mund të përdoren.
WhatsApp, Viber, Telegram:
Nëse futni një hapësirë të rregullt të bardhë, Atëherë WhatsApp, si lajmëtarët e tjerë, nuk ju lejon të dërgoni këtë mesazh – butoni "Dërgo" nuk shfaqet. U+3164 mund të dërgohet. Rezultati është një mesazh bosh.
VK, Facebook Messenger:
Ekziston e njëjta situatë si me lajmëtarët – mund të dërgoni mesazhe boshe në mesazhe private. Nga rruga, ju gjithashtu mund Të vendosni u+3164 në statusin VK – do të shfaqet si një rresht bosh. Nëse vendosni një hapësirë të rregullt, statusi do të fshihet dhe mbishkrimi "Set status" do të jetë i dukshëm.
TikTok, Instagram: Nuk ka asnjë mundësi për të përdorur hapësirën e fshehur. Të dy platformat e konsiderojnë karakterin e fshehur të hapësirës si një hapësirë të rregullt.
Mosmarrëveshje:
Discord ju lejon të dërgoni mesazhe boshe. Në të njëjtën kohë, nëse përpiqeni të krijoni një kanal me një emër bosh, Discord nuk do t'ju lejojë ta bëni këtë:
FAQ
Nëse vendos një karakter të padukshëm Në Skype, a do të jetë statusi "offline"?
Jo, ju mund të shkruani ndonjë tekst në shiritin e gjendjes së llogarisë (përfshirë një hapësirë të fshehur), statusi "online" ose "offline" nuk do të ndryshojë.
Cilat janë problemet me karakterin null në programim?
Ju nuk duhet t'i përdorni ato në kodin tuaj nëse nuk doni ta prishni atë. Nëse keni nevojë të përdorni një karakter për ruajtje ose dalje, shkruajeni atë në një ndryshore ose në dalje me Një Kod Unicode. Pse është më mirë të mos e përdorni? Ja një shembull për ju:
Siç mund ta shihni, ne kemi deklaruar një ndryshore që ka hapësira në emër, të cilën Python e ndalon. Në të njëjtën kohë, PyCharm paralajmëron se diçka nuk është në rregull me këtë ndryshore:
Jo vetëm që po shkelni rregullat e gjuhës, por gjithashtu po vendosni një foli në rrotat tuaja: për të hyrë në një ndryshore, do t'ju duhet të kopjoni dhe ngjisni manualisht emrin e saj. Nëse jeni duke bërë ndonjë projekt për veten tuaj dhe doni të komplikoni jetën tuaj, mund të përdorni hapësira të tilla, por nëse jeni duke punuar në ndonjë projekt serioz, as mos u përpiqni ta bëni këtë, përndryshe do të jeni në telashe.
A mundet një karakter i veçantë të thyejë paraqitjen?
Në teori, kjo është e mundur me kusht që paraqitja të bëhet në mënyrë të shtrembër ose të trashëgojë modele të këqija. Shtë më mirë të mos përdorni karaktere të tilla në paraqitjen, nëse nuk doni nëse nuk doni që gjithçka të prishet një ditë.
A është e mundur që të përdorin këto simbole për thatë?
Teknikisht, një nga personazhet e kontrollit- ' \0 – - mund të përdoret për të hakuar sistemin përmes një programi të shkruar Në C. një terminator null i tregon programit se linja ka përfunduar, dhe kodi me qëllim të keq mund të shkruhet pas terminatorit. Por kjo është shumë e vështirë, sepse së pari, duhet të gjeni një program që përpunon gabimisht linjat hyrëse, dhe pastaj gjithashtu ju lejon të ekzekutoni kod me qëllim të keq nga kujtesa e dikujt tjetër. Rreth 15 vjet më parë ajo ishte një mënyrë popullore e thatë, tani ajo është më shumë si një ekspozitë muze e thatë.
FAQ
Nëse vendos një karakter të padukshëm Në Skype, a do të jetë statusi "offline"?
Jo, ju mund të shkruani ndonjë tekst në shiritin e gjendjes së llogarisë (përfshirë një hapësirë të fshehur), statusi "online" ose "offline" nuk do të ndryshojë.
Cilat janë problemet me karakterin null në programim?
Ju nuk duhet t'i përdorni ato në kodin tuaj nëse nuk doni ta prishni atë. Nëse keni nevojë të përdorni një karakter për ruajtje ose dalje, shkruajeni atë në një ndryshore ose në dalje me Një Kod Unicode. Pse është më mirë të mos e përdorni? Ja një shembull për ju:
Siç mund ta shihni, ne kemi deklaruar një ndryshore që ka hapësira në emër, të cilën Python e ndalon. Në të njëjtën kohë, PyCharm paralajmëron se diçka nuk është në rregull me këtë ndryshore:
Jo vetëm që po shkelni rregullat e gjuhës, por gjithashtu po vendosni një foli në rrotat tuaja: për të hyrë në një ndryshore, do t'ju duhet të kopjoni dhe ngjisni manualisht emrin e saj. Nëse jeni duke bërë ndonjë projekt për veten tuaj dhe doni të komplikoni jetën tuaj, mund të përdorni hapësira të tilla, por nëse jeni duke punuar në ndonjë projekt serioz, as mos u përpiqni ta bëni këtë, përndryshe do të jeni në telashe.
A mundet një karakter i veçantë të thyejë paraqitjen?
Në teori, kjo është e mundur me kusht që paraqitja të bëhet në mënyrë të shtrembër ose të trashëgojë modele të këqija. Shtë më mirë të mos përdorni karaktere të tilla në paraqitjen, nëse nuk doni nëse nuk doni që gjithçka të prishet një ditë.
A është e mundur që të përdorin këto simbole për thatë?
Teknikisht, një nga personazhet e kontrollit- ' \0 – - mund të përdoret për të hakuar sistemin përmes një programi të shkruar Në C. një terminator null i tregon programit se linja ka përfunduar, dhe kodi me qëllim të keq mund të shkruhet pas terminatorit. Por kjo është shumë e vështirë, sepse së pari, duhet të gjeni një program që përpunon gabimisht linjat hyrëse, dhe pastaj gjithashtu ju lejon të ekzekutoni kod me qëllim të keq nga kujtesa e dikujt tjetër. Rreth 15 vjet më parë ajo ishte një mënyrë popullore e thatë, tani ajo është më shumë si një ekspozitë muze e thatë.