Telegram'da boş bir mesaj göndermeyi denediyseniz, büyük olasılıkla ne boşluk işaretinin ne de satırsonu işaretinin (Alt + Enter) gönderilmediğini öğrendiniz - giriş alanı basitçe temizlendi. Aynı zamanda, diğer insanların kelimenin tam anlamıyla size boş bir alan gönderdiğini ve başarılı olduklarını görebilirsiniz. Buradaki sihir nerede? Kısa bir cevap istiyorsanız - "kırık" u+3164 karakterini eklerler. Parantezlerden kopyalayabilir ve kullanabilirsiniz: "ㅤㅤㅤ". Daha ayrıntılı bir cevap istiyorsanız, aşağıda görünmez metnin nereden geldiğini, nasıl alınacağını ve kullanılacağını, neden kodda kullanmamanız gerektiğini ve başka hangi karakterlerin bulunduğunu anlatacağız.

Görünmez Sembol - nasıl çalışır?

Açıklamaya karakter ve kodlama tablolarıyla başlayalım. Donanım düzeyindeki herhangi bir bilgisayar 2 karakteri anlar: 0 ve 1. Bu insanlar için uygun değildir, çünkü hala kelimelere, cümlelere, paragraflara vb. Oluşan harflere daha çok alışkınız. Bu harflerle sorunsuz bir şekilde çalışmak için çok basit bir şema hazırladık – harfleri sırayla alıyoruz ve onlara benzersiz sayılar veriyoruz: a = 1, b = 2, c = 3 vb. Ayrıca büyük harflere, işaretlere (nokta, virgül, soru işareti vb.), boşluklara ve sayılara benzersiz sayılar veririz – bir liste, olası her karaktere atanan benzersiz bir tanımlayıcıyı gösterir. Bu listeye karakter kodu tablosu adı verilir ve ilk kod tablosu ASCII olarak tanınır:

İkinci yarısı boş. Bölgesel karakterler için tasarlanmıştır. Tablonun kendisi bir referans bilgisi gibidir. Ayrıca bir kodlama da vardır - bu tablonun şifresini çözmek için bir dizi talimat. Kodlamalar bölgesel standartlar nedeniyle ortaya çıktı. Karakterleri "doğru" okumak için bunlara ihtiyaç vardır. O sırada BDT'DE yaygın olan kodlamayı alırsak, içinde bir talimat olacaktır: "Harfi almak için " ASCII" ascıı'de 8x3 kullanın"; o sırada Almanya'da kullanılan kodlamayı alırsak, o zaman şöyle yazılacaktır: " "β" harfini alın 8x3 kullanın".



Birkaç dile yerelleştirme nedeniyle çok rahatsız edici olduğu için, yeni bir karakter tablosu olan Unicode icat edildi ve standartlaştırıldı. Unicode 1.000.000'den fazla karakter içerebilir. Şu anda Unicode'a yaklaşık 100.000 karakter eklendi - bu nedenle hücrelerin% 90'ı daha mevcut. Tasarımcıların yazı tiplerini çizmesini kolaylaştırmak için Unicode için evrensel bir UTF kodlaması icat edildi (evet, her ayrı kodlama için tasarımcıların ayrı bir yazı tipi çizmesi gerekir).

Bu yeterli arka plan – şimdi görünmez karakterin nereden geldiğini öğrenmenin zamanı geldi. Her şey Unicode'un hatalarıyla ilgili: bazı özel (kontrol ve boşluk) karakterler amaçlandığı gibi davranmıyor. Bizim için en ilginç böcek grubu görünmez karakterdir. Mesele, işaretin özel olması ve çok küçük bir boşluk olarak gösterilmesi gerektiğidir, ancak kodlama onu tam teşekküllü bir karakter (harf veya sayı gibi) olarak algılar ve geniş bir alan olarak görüntüler. Görünmez alanın tam teşekküllü bir işaret olarak nasıl kullanılabileceğini önceden tahmin etmiş olabilirsiniz – sağlanmadığı bir alanı eklemek için.

Görünmez metin - nasıl kopyalanır ve yapıştırılır?

Başlangıç olarak, size üzücü haberleri bildireceğiz: bu kodlama hataları bile yavaş yavaş düzeltiliyor. Daha önce (2012'de), “Vkontakte” de bir numara popülerdi – duruma yeni bir satır kontrol karakteri eklemek mümkündü ve durum 2 satıra bölündü. Artık bunu yapamazsınız - site veri çıktısını doğru şekilde işler ve böyle bir yazıt artık dizeyi kırmaz:

&nsbp'ye ek olarak, sosyal ağlar ve haberciler tüm kontrolü ve özel karakterleri kestiler – başlangıçta dil tarafından sağlanmamışsa metni baş aşağı çeviremez veya geriye doğru görüntüleyemezsiniz. Gibi hizmetler var https://textinvert.ru /, metni değiştirmenize izin verir, ancak baş aşağı çevirmezler, ancak diğer dillerde benzer harfleri alırlar. Özel bir algoritma gerektirir. Şimdi büyük bir boş metin oluşturmak son derece zordur (yine de mümkün olsa da), ancak görünmez emojiler ve birçok yazı tipini kıran boş küme işareti de şimdi düzeltildi. Geriye kalan tek şey bu gibi boş mesajlar göndermek:

Görünmez bir karakter eklemek için Unicode U + 3164

Yani, en kullanışlı şey görünmez bir alan, yani "boş bir dize" dir. Aslında, bu karakterlerden 3 tanesi var, işte kodları:

Karakterin kodu

Karakter

U + 115F

U +1160

U+3164

Karakteri görmek için tabloda üzerine çift tıklayın. Bu arada "Word", sembolü gri renkte hafifçe vurgular.

Karakterlerin geri kalanına gelince, & #8192 – & #8202 alanında adresleri olan boşluk karakterleri hala var, ancak bunları test ettik ve habercilerin onları sıradan alanlar olarak algıladıklarını öğrendik – bu nedenle ilgi çekici değiller. Yine de onlara ihtiyacınız varsa veya bunları farklı servislerde kendiniz test etmek istiyorsanız, burada birkaç boşluk ve kontrol karakteri daha var:

Karakterin kodu

O ne demek?

Karakter

U +00A0

Boşluksuz alan

 

U+2003

Em alanı

U +2007

Kıvırcık alan (bu ne anlama geliyorsa)

U+2008

Noktalama boşluğu

U+2009

Dar alan

U + 205F

Ortalama matematik alanı

U +3000

İdeografik alan

 

Yukarıdaki üç karaktere gelince, başlangıçta üst üste gelen Korece karakterler için yer tutuculardır. Dolgu maddeleri olmalarına rağmen tam teşekküllü karakterler olarak kabul edilirler. Belki de bu davranış, bir yer tutucu kullanıldığında, hiyeroglifin yeni bir satıra aktarılmaması gerektiğinden kaynaklanmaktadır. Karakter boşluk olarak kabul edilirse, bir aktarım oluşabilir (diğer denetim karakterlerine bağlıdır). Her neyse, boş bir karakteri tablodan kopyalayıp istediğiniz yere yapıştırabilirsiniz. Ama nereye yerleştirilebileceği - aşağıya bakalım.

WhatsApp, VK, İnstagram, Discord ve oyunlarda görünmez metin

Daha önce de söylediğimiz gibi, tüm büyük platformlar işlem sırasında kontrol, özel ve diğer "standart dışı" karakterlerin kesildiğinden emin olmuştur. Bu nedenle, bu tür sembollerin uygulama kapsamı son derece sınırlıdır, ancak bazı yerlerde hala kullanılabilirler.

WhatsApp, Viber, Telgraf:

Normal bir boşluk eklerseniz, WhatsApp, diğer haberciler gibi, bu mesajı göndermenize izin vermez - "Gönder" düğmesi görünmez. U + 3164 gönderilebilir. Sonuç boş bir mesajdır.

VKontakte, Facebook Messenger:

Habercilerle aynı durum söz konusudur – özel mesajlara boş mesajlar gönderebilirsiniz. Bu arada, U + 3164'ü VK durumuna da koyabilirsiniz – boş bir satır olarak görüntülenecektir. Düzenli bir boşluk bırakırsanız, durum silinir ve "Durumu ayarla" yazısı görünür olur.

TikTok, İnstagram: Gizli alanı kullanma seçeneği yok. Her iki platform da gizli alan karakterini normal bir alan olarak görür.

Anlaşmazlık:

Discord, boş mesajlar göndermenizi sağlar. Aynı zamanda, boş bir ada sahip bir kanal oluşturmaya çalışırsanız, Discord bunu yapmanıza izin vermez:

SSS

Skype'a görünmez bir karakter koyarsam durum "çevrimdışı" olur mu?

Hayır, hesap durum çubuğuna herhangi bir metin yazabilirsiniz (gizli alan dahil), “çevrimiçi” veya “çevrimdışı” durumu değişmez.

Programlamada boş karakterle ilgili sorunlar nelerdir?

Mahvetmek istemiyorsan kodunda kullanmamalısın. Depolama veya çıktı için bir karakter kullanmanız gerekiyorsa, bir değişkene veya çıktıya Unicode koduyla yazın. Neden daha iyi kullanmak için değil mi? İşte size bir örnek:

Gördüğünüz gibi, Python'un yasakladığı, adında boşluk olan bir değişken bildirdik. Aynı zamanda, PyCharm bu değişkende bir şeylerin yanlış olduğu konusunda uyarıyor:

Sadece dilin kurallarını ihlal etmekle kalmıyor, aynı zamanda tekerleklerinize bir konuşmacı da koyuyorsunuz: bir değişkene erişmek için adını manuel olarak kopyalayıp yapıştırmanız gerekecek. Kendiniz için bir proje yapıyorsanız ve hayatınızı karmaşıklaştırmak istiyorsanız, bu tür alanları kullanabilirsiniz, ancak ciddi bir proje üzerinde çalışıyorsanız, bunu yapmaya bile çalışmayın, aksi takdirde başınız belaya girer.

Özel bir karakter düzeni bozabilir mi?

Teorik olarak, bu, düzenin çarpık bir şekilde yapılması veya kötü kalıpları devralması koşuluyla mümkündür. Her şeyin bir gün bozulmasını istemiyorsanız, istemiyorsanız, bu tür karakterleri mizanpajda kullanmamak daha iyidir.

Bu sembolleri kesmek için kullanmak mümkün mü?

Teknik olarak, denetim karakterlerinden biri – ‘\0’ – C ile yazılmış bir program aracılığıyla sistemi kesmek için kullanılabilir. Boş bir sonlandırıcı, programa satırın sona erdiğini ve sonlandırıcıdan sonra kötü amaçlı kod yazılabileceğini gösterir. Ancak bu çok zordur, çünkü öncelikle gelen satırları yanlış işleyen bir program bulmanız ve ardından başka birinin belleğinden kötü amaçlı kod çalıştırmanıza izin vermeniz gerekir. Yaklaşık 15 yıl önce popüler bir hack yöntemiydi, şimdi daha çok bir müze hack sergisi gibi.

SSS

Skype'a görünmez bir karakter koyarsam durum "çevrimdışı" olur mu?

Hayır, hesap durum çubuğuna herhangi bir metin yazabilirsiniz (gizli alan dahil), “çevrimiçi” veya “çevrimdışı” durumu değişmez.

Programlamada boş karakterle ilgili sorunlar nelerdir?

Mahvetmek istemiyorsan kodunda kullanmamalısın. Depolama veya çıktı için bir karakter kullanmanız gerekiyorsa, bir değişkene veya çıktıya Unicode koduyla yazın. Neden daha iyi kullanmak için değil mi? İşte size bir örnek:

Gördüğünüz gibi, Python'un yasakladığı, adında boşluk olan bir değişken bildirdik. Aynı zamanda, PyCharm bu değişkende bir şeylerin yanlış olduğu konusunda uyarıyor:

Sadece dilin kurallarını ihlal etmekle kalmıyor, aynı zamanda tekerleklerinize bir konuşmacı da koyuyorsunuz: bir değişkene erişmek için adını manuel olarak kopyalayıp yapıştırmanız gerekecek. Kendiniz için bir proje yapıyorsanız ve hayatınızı karmaşıklaştırmak istiyorsanız, bu tür alanları kullanabilirsiniz, ancak ciddi bir proje üzerinde çalışıyorsanız, bunu yapmaya bile çalışmayın, aksi takdirde başınız belaya girer.

Özel bir karakter düzeni bozabilir mi?

Teorik olarak, bu, düzenin çarpık bir şekilde yapılması veya kötü kalıpları devralması koşuluyla mümkündür. Her şeyin bir gün bozulmasını istemiyorsanız, istemiyorsanız, bu tür karakterleri mizanpajda kullanmamak daha iyidir.

Bu sembolleri kesmek için kullanmak mümkün mü?

Teknik olarak, denetim karakterlerinden biri – ‘\0’ – C ile yazılmış bir program aracılığıyla sistemi kesmek için kullanılabilir. Boş bir sonlandırıcı, programa satırın sona erdiğini ve sonlandırıcıdan sonra kötü amaçlı kod yazılabileceğini gösterir. Ancak bu çok zordur, çünkü öncelikle gelen satırları yanlış işleyen bir program bulmanız ve ardından başka birinin belleğinden kötü amaçlı kod çalıştırmanıza izin vermeniz gerekir. Yaklaşık 15 yıl önce popüler bir hack yöntemiydi, şimdi daha çok bir müze hack sergisi gibi.