Ja jūs kādreiz esat mēģinājis nosūtīt tukšu ziņojumu telegrammā, tad, visticamāk, uzzinājāt, ka netiek nosūtīta ne atstarpes zīme, ne jaunās līnijas zīme (Alt + Enter) - ievades lauks tiek vienkārši notīrīts. Tajā pašā laikā jūs varēja redzēt, ka citi cilvēki burtiski sūta jums tukšu vietu, un viņiem tas izdodas. Kur šeit ir maģija? Ja vēlaties īsu atbildi-viņi ievieto "šķelto" rakstzīmi u+3164. Jūs varat to kopēt no iekavām un izmantot: "ㅤㅤㅤ". Ja vēlaties saņemt sīkāku atbildi, zemāk mēs jums pateiksim, no kurienes nāk neredzamais teksts, kā to iegūt un izmantot, kāpēc to nevajadzētu izmantot kodā un kādas citas rakstzīmes ir.
Neredzams simbols-kā tas darbojas?
Sāksim paskaidrojumu ar rakstzīmju tabulām un kodējumiem. Jebkurš dators aparatūras līmenī saprot 2 rakstzīmes: 0 un 1. Cilvēkiem tas nav ērti, jo mēs joprojām esam vairāk pieraduši pie burtiem, kas veidoti vārdos, teikumos, rindkopās utt. Lai strādātu ar šiem burtiem bez jebkādām problēmām, mēs esam izstrādājuši ļoti vienkāršu shēmu – mēs ņemam burtus kārtībā un dodam viņiem unikālus numurus: a = 1, b = 2, c = 3 un tā tālāk. Mēs arī dodam unikālus numurus lielajiem burtiem, zīmēm (punkts, komats, jautājuma zīme utt.), atstarpēm un cipariem – saraksts ar unikālu identifikatoru, kas tiek piešķirts katram iespējamajam rakstzīmei. Šis saraksts tiek saukts rakstzīmju kodu tabulu, un pirmais kods tabula ir atzīta bija ASCII:
Otrā puse ir tukša. Tas ir paredzēts reģionālajām rakstzīmēm. Pati tabula ir kā atsauces informācija. Ir arī kodējums-instrukciju kopums šīs tabulas atšifrēšanai. Kodējumi parādījās reģionālo standartu dēļ. Tie ir nepieciešami, lai pareizi lasītu rakstzīmes. Ja mēs ņemam kodējumu, kas tajā laikā bija izplatīts NVS valstīs, tad tajā būs instrukcija: "Lai iegūtu burtu "г", izmantojiet 8x3 ASCII"; ja mēs ņemam kodējumu, kas tajā laikā tika izmantots Vācijā, tad tiks rakstīts: "lai iegūtu burtu "β", izmantojiet 8x3".
Tā kā tas bija šausmīgi neērti lokalizācijas dēļ vairākās valodās, tika izgudrota un standartizēta jauna rakstzīmju tabula Unicode. Unicode var saturēt vairāk nekā 1 000 000 rakstzīmju. Šobrīd Unicode ir pievienoti aptuveni 100 000 rakstzīmju – tātad ir pieejami vēl 90% šūnu. Unicode tika izgudrots universāls UTF kodējums, lai dizaineriem būtu vieglāk zīmēt fontus (jā, katram atsevišķam kodējumam dizaineriem ir jāizzīmē atsevišķs fonts).
Tas ir pietiekami fons-tagad ir pienācis laiks uzzināt, no kurienes nāk neredzamais raksturs. Tas viss ir par Unicode kļūdām: dažas īpašas (kontroles un atstarpes) rakstzīmes nedarbojas kā paredzēts. Mums visinteresantākā kļūdu grupa ir neredzamais raksturs. Lieta ir tāda, ka zīmei jābūt īpašai un tai jābūt parādītai kā ļoti mazai atstarpei, bet kodējums to uztver kā pilnvērtīgu rakstzīmi (piemēram, burtu vai skaitli) un parāda to kā lielu atstarpi. Jūs, iespējams, jau uzminējāt, kā var izmantot neredzamo zonu kā pilnvērtīgu zīmi–ievietot atstarpi, kur tā nav paredzēta.
Neredzams teksts-kā kopēt un ielīmēt?
Vispirms mēs informēsim jūs par skumjām ziņām: pat šīs kodēšanas kļūdas tiek pakāpeniski novērstas. Agrāk (2012.gadā) "Vkontakte" bija populārs triks – statusā bija iespējams ievietot jaunulīnijas vadības rakstzīmi, un statuss tika sadalīts 2 rindās. Tagad jūs to nevarat izdarīt – vietne pareizi apstrādā datu izvadi, un šāds uzraksts vairs neizjauc virkni:
Papildus &nsbp, sociālie tīkli un kurjeri ir izgriezuši visas vadības un īpašās rakstzīmes – jūs nevarat pagriezt tekstu otrādi vai parādīt to atpakaļ, ja Valoda to sākotnēji nenodrošina. Ir tādi pakalpojumi kā https://textinvert.ru/ , kas ļauj mainīt tekstu, bet tie to neapgriež otrādi, bet paņem līdzīgus burtus citās valodās. Tam nepieciešams īpašs algoritms. Tagad ir ārkārtīgi grūti izveidot lielu tukšu tekstu (lai gan tas joprojām ir iespējams), taču tagad tiek fiksētas arī neredzamās emocijzīmes un tukšā komplekta zīme, kas salauza daudzus fontus. Viss, kas paliek, ir sūtīt tukšus ziņojumus, piemēram, šos:
Unicode U + 3164 neredzamas rakstzīmes ievietošanai
Tātad visnoderīgākā lieta ir neredzama telpa, jeb "tukša virkne". Faktiski ir 3 no šīm rakstzīmēm, šeit ir to kodi:
Rakstzīmju kods |
Rakstzīme |
U + 115F |
ᅟ |
U + 1160 |
ᅠ |
U + 3164 |
ㅤ |
Lai redzētu rakstzīmi, veiciet dubultklikšķi uz tā tabulā. "Vārds", starp citu, nedaudz izceļ simbolu pelēkā krāsā.
Attiecībā uz pārējiem burtiem, joprojām atstarpes rakstzīmes ar adresēm jomā & # 8192 - & # 8202, bet mēs testē tos un konstatēja, ka kurjeri uztver tos kā parastiem telpās – tāpēc tie nav interese. Ja jums tie tik un tā ir nepieciešami vai vēlaties tos pats pārbaudīt dažādos pakalpojumos – šeit ir vēl dažas atstarpes un vadības rakstzīmes:
Rakstzīmju kods |
Ko tas nozīmē? |
Rakstzīme |
U + 00A0 |
Telpa bez atstarpes |
|
U + 2003 |
Em telpa |
|
U + 2007 |
Cirtaini telpa (neatkarīgi no tā, kas nozīmē) |
|
U + 2008 |
Pieturzīmju telpa |
|
U + 2009 |
Šaura telpa |
|
U + 205F |
Vidējā matemātikas telpa |
|
U+3000 |
Ideogrāfiskā telpa |
|
Attiecībā uz trim iepriekš minētajām rakstzīmēm sākotnēji tie ir vietturi korejiešu rakstzīmju pārklāšanai. Tās tiek uzskatītas par pilntiesīgām rakstzīmēm, lai gan tās ir pildvielas. Varbūt šī uzvedība ir saistīta ar faktu, ka, lietojot vietturi, hieroglifu nevajadzētu pārsūtīt uz jaunu rindu. Ja rakstzīme tiek uzskatīta par atstarpi, var notikt pārsūtīšana (tas ir atkarīgs no citām vadības rakstzīmēm). Jebkurā gadījumā jūs varat nokopēt tukšu rakstzīmi no tabulas un ielīmēt to visur, kur jums nepieciešams. Bet kur to var ievietot-redzēsim tālāk.
Neredzams teksts WhatsApp, VK, Instagram, nesaskaņās un spēlēs
Kā jau teicām, visas galvenās platformas ir pārliecinājušās, ka apstrādes laikā tiek izgrieztas vadības, īpašās un citas "nestandarta" rakstzīmes. Tādēļ šādu simbolu piemērošanas joma ir ārkārtīgi ierobežota, lai gan dažās vietās tos joprojām var izmantot.
WhatsApp, Viber, Telegramma:
Ja ievietojat regulāru atstarpi, tad WhatsApp, tāpat kā citi kurjeri, neļauj jums nosūtīt šo ziņojumu – poga "Sūtīt" neparādās. U + 3164 var nosūtīt. Rezultāts ir tukšs ziņojums.
VK, Facebook Messenger:
Ir tāda pati situācija kā ar kurjeriem – Jūs varat nosūtīt tukšus ziņojumus uz privātiem ziņojumiem. Starp citu, jūs varat arī ievietot U+3164 VK statusā – tas tiks parādīts kā tukša rinda. Ja ievietojat regulāru atstarpi, statuss tiks izdzēsts un būs redzams uzraksts "iestatīt statusu".
Tiktok, Instagram: Nav iespējas izmantot slēpto telpu. Abas platformas slēpto kosmosa raksturu uzskata par parastu telpu.
Nesaskaņas:
Discord ļauj nosūtīt tukšas ziņas. Tajā pašā laikā, ja jūs mēģināt izveidot kanālu ar tukšu nosaukumu, Discord neļaus jums to izdarīt:
Biežāk uzdotie jautājumi
Ja es ievietoju neredzamu rakstzīmi Skype, vai statuss būs "bezsaistē"?
Nē, konta statusa joslā (ieskaitot slēptu atstarpi) varat rakstīt jebkuru tekstu, statuss "tiešsaistē" vai "bezsaistē" nemainīsies.
Kādas ir problēmas ar nulles rakstzīmi programmēšanā?
Jums nevajadzētu tos izmantot savā kodā, ja nevēlaties to sabojāt. Ja jums ir nepieciešams izmantot rakstzīmi glabāšanai vai izvadei, uzrakstiet to mainīgajam vai izvadei ar Unicode kodu. Kāpēc labāk to neizmantot? Šeit ir piemērs jums:
Kā redzat, mēs esam deklarējuši mainīgo, kura nosaukumā ir atstarpes, kuras Python aizliedz. Tajā pašā laikā PyCharm brīdina, ka ar šo mainīgo kaut kas nav kārtībā:
Jūs ne tikai pārkāpjat valodas noteikumus, bet arī ievietojat spieķu riteņos: lai piekļūtu mainīgajam, Jums būs manuāli jākopē un jāielīmē tā nosaukums. Ja jūs veicat kādu projektu sev un vēlaties sarežģīt savu dzīvi, varat izmantot šādas telpas, bet, ja jūs strādājat pie kāda nopietna projekta, pat nemēģiniet to izdarīt, pretējā gadījumā Jums būs nepatikšanas.
Vai īpašs raksturs var pārtraukt izkārtojumu?
Teorētiski tas ir iespējams ar nosacījumu, ka izkārtojums tiek veikts šķībi vai pārmanto sliktos modeļus. Tas ir labāk neizmantot šādas rakstzīmes izkārtojumu, ja jūs nevēlaties, ja jūs nevēlaties, lai viss, lai nojauktu vienu dienu.
Vai ir iespējams izmantot šos simbolus uzlaušanai?
Tehniski vienu no vadības rakstzīmēm - ' \0 – - var izmantot, lai uzlauztu sistēmu, izmantojot programmu, kas rakstīta C. nulles terminators programmai norāda, ka līnija ir beigusies, un ļaunprātīgu kodu var rakstīt pēc terminatora. Bet tas ir ļoti grūti, jo, pirmkārt, jums jāatrod programma, kas nepareizi apstrādā ienākošās līnijas, un pēc tam arī ļauj palaist ļaunprātīgu kodu no kāda cita atmiņas. Apmēram pirms 15 gadiem tas bija populārs uzlaušanas veids, tagad tas vairāk atgādina uzlaušanas muzeja eksponātu.
Biežāk uzdotie jautājumi
Ja es ievietoju neredzamu rakstzīmi Skype, vai statuss būs "bezsaistē"?
Nē, konta statusa joslā (ieskaitot slēptu atstarpi) varat rakstīt jebkuru tekstu, statuss "tiešsaistē" vai "bezsaistē" nemainīsies.
Kādas ir problēmas ar nulles rakstzīmi programmēšanā?
Jums nevajadzētu tos izmantot savā kodā, ja nevēlaties to sabojāt. Ja jums ir nepieciešams izmantot rakstzīmi glabāšanai vai izvadei, uzrakstiet to mainīgajam vai izvadei ar Unicode kodu. Kāpēc labāk to neizmantot? Šeit ir piemērs jums:
Kā redzat, mēs esam deklarējuši mainīgo, kura nosaukumā ir atstarpes, kuras Python aizliedz. Tajā pašā laikā PyCharm brīdina, ka ar šo mainīgo kaut kas nav kārtībā:
Jūs ne tikai pārkāpjat valodas noteikumus, bet arī ievietojat spieķu riteņos: lai piekļūtu mainīgajam, Jums būs manuāli jākopē un jāielīmē tā nosaukums. Ja jūs veicat kādu projektu sev un vēlaties sarežģīt savu dzīvi, varat izmantot šādas telpas, bet, ja jūs strādājat pie kāda nopietna projekta, pat nemēģiniet to izdarīt, pretējā gadījumā Jums būs nepatikšanas.
Vai īpašs raksturs var pārtraukt izkārtojumu?
Teorētiski tas ir iespējams ar nosacījumu, ka izkārtojums tiek veikts šķībi vai pārmanto sliktos modeļus. Tas ir labāk neizmantot šādas rakstzīmes izkārtojumu, ja jūs nevēlaties, ja jūs nevēlaties, lai viss, lai nojauktu vienu dienu.
Vai ir iespējams izmantot šos simbolus uzlaušanai?
Tehniski vienu no vadības rakstzīmēm - ' \0 – - var izmantot, lai uzlauztu sistēmu, izmantojot programmu, kas rakstīta C. nulles terminators programmai norāda, ka līnija ir beigusies, un ļaunprātīgu kodu var rakstīt pēc terminatora. Bet tas ir ļoti grūti, jo, pirmkārt, jums jāatrod programma, kas nepareizi apstrādā ienākošās līnijas, un pēc tam arī ļauj palaist ļaunprātīgu kodu no kāda cita atmiņas. Apmēram pirms 15 gadiem tas bija populārs uzlaušanas veids, tagad tas vairāk atgādina uzlaušanas muzeja eksponātu.