Jei kada nors bandėte išsiųsti tuščią pranešimą telegramoje, greičiausiai sužinojote, kad nei tarpo ženklas, nei naujos eilutės ženklas (Alt + Enter) nėra siunčiami - įvesties laukas tiesiog išvalomas. Tuo pačiu metu galėjai pamatyti, kad kiti žmonės tiesiogine prasme siunčia tau tuščią vietą, ir jiems pasiseka. Kur čia magija? Jei norite trumpo atsakymo-jie įterpia" sulaužytą " simbolį u+3164. Galite nukopijuoti jį iš skliaustų ir naudoti:"oms". Jei norite išsamesnio atsakymo, žemiau mes jums pasakysime, iš kur atsiranda nematomas tekstas, kaip jį gauti ir naudoti, kodėl neturėtumėte jo naudoti kode ir kokie kiti simboliai yra.
Nematomas simbolis – kaip tai veikia?
Pradėkime paaiškinimą su simbolių lentelėmis ir kodais. Bet kuris aparatūros lygio kompiuteris supranta 2 simbolius: 0 ir 1. Tai nėra patogu žmonėms, nes mes vis dar esame labiau įpratę prie raidžių, suformuotų į žodžius, sakinius, pastraipas ir pan. Norėdami dirbti su šiomis raidėmis be jokių problemų, mes sugalvojome labai paprastą schemą-mes paimame raides eilės tvarka ir suteikiame jiems unikalius skaičius: A = 1, b = 2, c = 3 ir pan. Mes taip pat suteikiame unikalius numerius didžiosiomis raidėmis, ženklais (tašku, kableliu, klaustuku ir pan.), tarpais ir skaičiais – sąraše yra unikalus identifikatorius, kuris priskiriamas kiekvienam galimam simboliui. Šis sąrašas vadinamas simbolių kodų lentele, o pirmoji kodų lentelė yra pripažinta ASCII:
Antroji pusė tuščia. Jis skirtas regioniniams simboliams. Pati lentelė yra tarsi informacinė informacija. Taip pat yra kodavimas – šios lentelės iššifravimo instrukcijų rinkinys. Koduotės atsirado dėl regioninių standartų. Jie reikalingi norint skaityti simbolius "teisingai". Jei mes priimsime kodavimą, kuris tuo metu buvo įprastas NVS, tada jame bus instrukcija: "Norėdami gauti raidę "oms", naudokite 8H3 ASCII"; jei mes priimsime kodavimą, kuris tuo metu buvo naudojamas Vokietijoje,tada bus parašyta: "norėdami gauti raidę" oms", naudokite 8h3".
Kadangi tai buvo siaubingai nepatogu dėl lokalizacijos į kelias kalbas, buvo išrasta ir standartizuota nauja simbolių lentelė Unicode. Unicode gali būti daugiau nei 1 000 000 simbolių. Šiuo metu į Unicode buvo pridėta apie 100 000 simbolių – taigi yra dar 90% langelių. Unicode buvo išrastas universalus UTF kodavimas, kad dizaineriams būtų lengviau piešti šriftus (taip, kiekvienam atskiram kodavimui dizaineriai turi nupiešti atskirą šriftą).
Tai pakankamai fonas – dabar atėjo laikas sužinoti, iš kur atsiranda nematomas simbolis. Viskas apie Unicode klaidas: kai kurie specialūs (kontroliniai ir tarpai) simboliai elgiasi ne taip, kaip numatyta. Įdomiausia klaidų grupė mums yra nematomas personažas. Esmė ta, kad ženklas turėtų būti ypatingas ir turėtų būti rodomas kaip labai mažas tarpas, tačiau kodavimas jį suvokia kaip visavertį simbolį (pvz., raidę ar skaičių) ir rodo kaip didelę erdvę. Galbūt jau atspėjote, kaip galima naudoti nematomą plotą kaip visavertį ženklą-įterpti erdvę, kurioje ji nėra numatyta.
Nematomas tekstas-kaip nukopijuoti ir įklijuoti?
Pirmiausia mes informuosime jus apie liūdnas naujienas: net šios kodavimo klaidos palaipsniui nustatomos. Anksčiau (2012 m.) "Vkontakte" buvo populiarus triukas – į būseną buvo galima įterpti naująlinijos valdymo simbolis, o būsena buvo padalinta į 2 eilutes. Dabar jūs negalite to padaryti – svetainė tinkamai apdoroja duomenų išvestį, ir toks užrašas nebeslaužia eilutės:
Be &nsbp, socialiniai tinklai ir pasiuntiniai sumažino visus valdiklius ir specialiuosius simbolius – jūs negalite pasukti teksto aukštyn kojom arba rodyti jį atgal, jei jis iš pradžių nėra pateiktas kalba. Yra tokių paslaugų kaip https://textinvert.ru/, kurie leidžia pakeisti tekstą, tačiau jie jo neapverčia aukštyn kojomis, o pasiima panašias raides kitomis kalbomis. Tam reikia specialaus algoritmo. Dabar sukurti didelį tuščią tekstą yra nepaprastai sunku (nors tai vis dar įmanoma), tačiau nematomi jaustukai ir tuščias rinkinio ženklas, sulaužęs daugelį šriftų, taip pat yra fiksuoti dabar. Belieka siųsti tokius tuščius pranešimus:
Unicode U + 3164 už nematomo simbolio įterpimą
Taigi, naudingiausias dalykas yra nematoma erdvė, dar žinoma kaip "tuščia eilutė". Tiesą sakant, yra 3 iš šių simbolių, čia yra jų kodai:
Simbolio kodas |
Simbolis |
U+115F |
ᅟ |
U+1160 |
ᅠ |
U+3164 |
ㅤ |
Norėdami pamatyti simbolį, dukart spustelėkite jį lentelėje. "Žodis", Beje, šiek tiek pabrėžia simbolį pilka spalva.
Kalbant apie likusius simbolius, vis dar yra tarpų simbolių su adresais   –   srityje, tačiau mes juos išbandėme ir sužinojome, kad pasiuntiniai juos suvokia kaip įprastas erdves – todėl jie nedomina. Jei jums jų vis tiek reikia arba norite patys juos išbandyti įvairiose tarnybose – čia yra dar keletas tarpų ir valdymo simbolių:
Simbolio kodas |
Ką tai reiškia? |
Simbolis |
U+00A0 |
Erdvė be tarpo |
|
U + 2003 |
Em erdvė |
|
U + 2007 |
Garbanota erdvė (kad ir ką tai reikštų) |
|
U + 2008 |
Skyrybos erdvė |
|
U + 2009 |
Siaura erdvė |
|
U + 205F |
Vidutinė matematikos erdvė |
|
U+3000 |
Ideografinė erdvė |
|
Kalbant apie tris aukščiau išvardintus simbolius, iš pradžių jie yra korėjiečių simbolių sutapimo vietos rezervavimo ženklai. Jie laikomi visaverčiais simboliais, nors jie yra užpildai. Galbūt toks elgesys yra dėl to, kad kai naudojamas vietos rezervavimo ženklas, hieroglifas neturėtų būti perkeltas į naują eilutę. Jei simbolis laikomas tarpuskaita, gali įvykti perdavimas (tai priklauso nuo kitų valdymo simbolių). Bet kokiu atveju galite nukopijuoti tuščią simbolį iš lentelės ir įklijuoti jį visur, kur jums reikia. Bet kur jį galima įterpti-pažiūrėkime žemiau.
Nematomas tekstas Instagram, VK, Instagram, nesantaikoje ir žaidimuose
Kaip jau minėjome, visos pagrindinės platformos pasirūpino, kad apdorojimo metu būtų iškirpti kontroliniai, specialieji ir kiti "nestandartiniai" simboliai. Todėl tokių simbolių taikymo sritis yra labai ribota, nors kai kuriose vietose jie vis dar gali būti naudojami.
Tai Yra Vienas Iš Geriausių Būdų, Kaip Išspręsti Šią Problemą.:
Jei įterpiate įprastą tarpelį, tada "kas", kaip ir kiti pasiuntiniai, neleidžia jums siųsti šio pranešimo – mygtukas "Siųsti" nerodomas. U+3164 gali būti išsiųstas. Rezultatas yra tuščias pranešimas.
VK, Facebook Messenger:
Yra tokia pati situacija kaip ir su pasiuntiniais – galite siųsti tuščius pranešimus į asmeninius pranešimus. Beje, jūs taip pat galite įdėti U+3164 į VK būseną – ji bus rodoma kaip tuščia eilutė. Jei įdėsite įprastą vietą, būsena bus ištrinta ir bus matomas užrašas "nustatyti būseną".
TikTok, Instagram: Nėra galimybės naudoti paslėptą erdvę. Abi platformos paslėptą kosmoso veikėją laiko įprasta erdve.
Nesantaika:
Nesantaika leidžia siųsti tuščius pranešimus. Tuo pačiu metu, jei bandysite sukurti kanalą su tuščiu pavadinimu, nesantaika neleis jums to padaryti:
DUK
Jei į "Skype" įdėsiu nematomą simbolį, ar būsena bus "neprisijungusi"?
Ne, paskyros būsenos juostoje galite parašyti bet kokį tekstą (įskaitant paslėptą vietą), būsena "prisijungęs" arba "neprisijungęs" nepasikeis.
Kokios yra nulinio pobūdžio programavimo problemos?
Jūs neturėtumėte jų naudoti savo kode, jei nenorite jo sugadinti. Jei jums reikia naudoti simbolį saugojimui ar išvedimui, įrašykite jį į kintamąjį arba į išvestį su Unicode kodu. Kodėl tai geriau ne naudoti? Štai jums pavyzdys:
Kaip matote, mes paskelbėme kintamąjį, kurio pavadinime yra tarpų, kurį Python draudžia. Tuo pačiu metu PyCharm įspėja, kad kažkas negerai su šiuo kintamuoju:
Jūs ne tik pažeidžiate kalbos taisykles, bet ir kišate stipiną į savo ratus: norėdami pasiekti kintamąjį, turėsite rankiniu būdu nukopijuoti ir įklijuoti jo pavadinimą. Jei darote kokį nors projektą sau ir norite apsunkinti savo gyvenimą, galite naudoti tokias erdves, tačiau jei dirbate prie kokio nors rimto projekto, net nebandykite to padaryti, kitaip turėsite bėdų.
Ar specialus simbolis gali sugadinti išdėstymą?
Teoriškai tai įmanoma, jei išdėstymas atliekamas kreivai arba paveldi blogus modelius. Geriau ne naudoti tokius simbolius išdėstyme, jei nenorite, jei nenorite, kad viskas suskaidytų vieną dieną.
Ar galima naudoti šiuos simbolius įsilaužimui?
Techniškai vienas iš valdymo simbolių - '\ 0 ' - gali būti naudojamas nulaužti sistemą per programą, parašytą C. nulinis Terminatorius programai nurodo, kad eilutė baigėsi, o kenkėjiškas kodas gali būti parašytas po terminatoriaus. Bet tai labai sunku, nes pirmiausia turite rasti programą, kuri neteisingai apdoroja gaunamas eilutes, o tada taip pat leidžia paleisti kenksmingą kodą iš kažkieno atminties. Maždaug prieš 15 metų tai buvo populiarus įsilaužimo būdas, dabar jis labiau panašus į įsilaužimo muziejaus ekspoziciją.
DUK
Jei į "Skype" įdėsiu nematomą simbolį, ar būsena bus "neprisijungusi"?
Ne, paskyros būsenos juostoje galite parašyti bet kokį tekstą (įskaitant paslėptą vietą), būsena "prisijungęs" arba "neprisijungęs" nepasikeis.
Kokios yra nulinio pobūdžio programavimo problemos?
Jūs neturėtumėte jų naudoti savo kode, jei nenorite jo sugadinti. Jei jums reikia naudoti simbolį saugojimui ar išvedimui, įrašykite jį į kintamąjį arba į išvestį su Unicode kodu. Kodėl tai geriau ne naudoti? Štai jums pavyzdys:
Kaip matote, mes paskelbėme kintamąjį, kurio pavadinime yra tarpų, kurį Python draudžia. Tuo pačiu metu PyCharm įspėja, kad kažkas negerai su šiuo kintamuoju:
Jūs ne tik pažeidžiate kalbos taisykles, bet ir kišate stipiną į savo ratus: norėdami pasiekti kintamąjį, turėsite rankiniu būdu nukopijuoti ir įklijuoti jo pavadinimą. Jei darote kokį nors projektą sau ir norite apsunkinti savo gyvenimą, galite naudoti tokias erdves, tačiau jei dirbate prie kokio nors rimto projekto, net nebandykite to padaryti, kitaip turėsite bėdų.
Ar specialus simbolis gali sugadinti išdėstymą?
Teoriškai tai įmanoma, jei išdėstymas atliekamas kreivai arba paveldi blogus modelius. Geriau ne naudoti tokius simbolius išdėstyme, jei nenorite, jei nenorite, kad viskas suskaidytų vieną dieną.
Ar galima naudoti šiuos simbolius įsilaužimui?
Techniškai vienas iš valdymo simbolių - '\ 0 ' - gali būti naudojamas nulaužti sistemą per programą, parašytą C. nulinis Terminatorius programai nurodo, kad eilutė baigėsi, o kenkėjiškas kodas gali būti parašytas po terminatoriaus. Bet tai labai sunku, nes pirmiausia turite rasti programą, kuri neteisingai apdoroja gaunamas eilutes, o tada taip pat leidžia paleisti kenksmingą kodą iš kažkieno atminties. Maždaug prieš 15 metų tai buvo populiarus įsilaužimo būdas, dabar jis labiau panašus į įsilaužimo muziejaus ekspoziciją.