Görünmez Karakter Tespit Cihazı
Herhangi bir metin yapıştırın ve tespitci, içinde barındırdığı tüm görünmeyen karakterleri rapor eder: sıfır genişlikli boşluklar, yönlendirme işaretleri, BOM’ler, yumuşak çizgiler, kesintisiz boşluklar ve boş gibi görünür ancak arama, farklılaştırma ve kopyalama-kilitleme işlemlerinde engel oluşturan Unicode kontrol kod noktalarının topluluğu. Her tespit edilen karakter, kod noktası (U+200B), resmi Unicode adı ve dizideki konumuyla birlikte verilir; böylece bir sorunun nerede saklandığını belirleyip onu gidermenize olanak tanır.
Görünmeyen karakterleri nasıl tespit eder?
-
1
Metni yapıştırın
Şüpheli bir dizgi ekleyin: bir kod parçası, kopyalanan bir mesaj veya bir yapılandırma değeri.
-
2
Taramayı başlatın
Araç her kod noktasını inceleyerek görünmez veya biçim karakter listesine uygun olanları işaretler.
-
3
Raporu gözden geçirin
Her hit, konumunu (1'le indekslenmiştir), `U+HHHH` formatındaki kod noktasını ve Unicode adını (Sıfır Genişlikli Boşluk, BOM vb.) gösterir.
-
4
Metni temizleyin
Gizli karakterleri silmek veya görselleştirmek için "Değiştir" işleminden yararlanın, ardından arıza giderilmiş versiyonu yeniden yapıştırın.
Görünmez karakterler ve nereden geldikleri
Bu karakterler meşru nedenlerle kullanılmaktadır (metin düzeni, yazım yönü ve karakterlerin birleştirilmesi). Ancak tasarlandıkları bağlamdan çıkarak kodlara, yapılandırma dosyalarına, arama sorgularına veya kullanıcı adlarına girdiklerinde hata oluştururlar.
Dedektörün aradığı karakterler
| Kod noktası | Adı | Genellikle nerede gizlice yer alır |
|---|---|---|
U+200B |
Sıfır Genişlikli Boşluk | Zengin metin editörleri, kelime işlemcileri |
U+200C |
Sıfır Genişlikli Birleştirici Olmayan | Fars ve Hindi tipografisi |
U+200D |
Sıfır Genişlikli Birleştirici | Emoji dizileri, Hint yazıları |
U+200E |
Soldan sağa işaret | Hem LTR hem de RTL yazım biçimlerini içeren metin |
U+200F |
Sağdan sola işaret | Aynı |
U+202A..E |
Gömme / üstüne geçme | Aynı; bazen kötü niyetle kullanılır (Trojan Kaynağı) |
U+2028 |
Satır Ayırıcı | Word’tan kopyalanır, JSON kodlayıcılarını bozar |
U+2029 |
Paragraf Ayırıcı | Aynı |
U+FEFF |
Bayt Sıralaması İşareti | Notepad’ta UTF-8 ile BOM biçiminde kaydedilen dosyalar |
U+00A0 |
Bölünmez boşluk | Word’tan alınmış tipografik boşluk |
U+00AD |
Yumuşak tire | Zengin metinde heceleme ipuçları |
Gizli karakter hatasının yaygın belirtileri
- “Eşit olması gereken” bir karakter dizisi karşılaştırması aslında eşit değildir. Değerleri bu araca kopyalayın ve bayt sayılarını karşılaştırın.
- Gözle bakınca eşleşen ama kodda başarısız olan bir regex. Çoğunlukla boşluk gibi görünen bir
U+00A0. - Bir JSON ayrıştırıcısı, yapıştırılan bir veride çöker. Genellikle baştaki bir BOM ya da JavaScript’in JSON içinde reddettiği bir dize değerindeki
U+2028. - SEO başlığının uzunluğu yanlış. Sıfır genişlikli boşluk, görünür bir değişiklik olmadan başlığın sınırı aşmasına neden olur.
Trojan Source (Truva Kaynağı) yönü
Çift yönlü geçersiz kılma karakterleri (U+202E, U+2066..U+2069), kaynak kodun bir sırayla görüntülenirken başka bir sırayla derlenmesine neden olabilir; bu, “Trojan Source” saldırı sınıfıdır. Güvenilmeyen katkıda bulunanlardan gelen kodu incelerken, birleştirmeden önce onların farklarını bu dedektörden geçirin.
Sık Sorulan Sorular
Notepad ve bazı eski Windows araçları varsayılan olarak “UTF-8 ile BOM” ayarını kullanır. BOM (U+FEFF), Windows uygulamaları için uygun olsa da birçok shell iş akışını, PHP dosyalarını (BOM, <?php etiketinden önce çıktı olarak basılır) ve JSON ayrıştırıcılarını bozar.
Ekran üzerinde sıradan bir alan gibi görünse de davranışı farklıdır: satır kesintisine izin vermez ve tüm dillerdeki çoğu \s regex varyantıyla uyumlu değildir. Genellikle zengin metin kaynaklarından kopyalanmış dosya yollarında, e-posta adreslerinde ve kullanıcı adlarında yer alır.
Her zaman böyle değildir. Arapça, Farsça veya Devanagari yazısında sıfır genişlikli birleştirici ve birleştirici olmayan karakterler semantik olarak zorunludur. Kod, yapılandırma dosyaları ve çoğu İngilizce metinde bu karakterleri gerekli olmadıkça çıkarabilirsiniz. Doğal dil içeriğinde ise bu karakterleri çıkarmadan önce onları kontrol etmek için dedektörden yararlanın.
Hayır, analiz yalnızca mevcut istek için çalışır ve yanıt oluşturulduktan sonra yapıştırdığınız hiçbir şey saklanmaz veya kaydedilmez.
İlgili Araçlar
Emoji Kopyala Yapıştır
Sık kullanılan emojilerden oluşan seçkiyi kategoriye göre gezin ve birini yerel olarak kopyalayın. Bu, tam Unicode kataloğu veya metin düzenleyicisi değildir.
Disleksiye Uygun Metin Dönüştürücü
Yapıştırdığınız metni kısa paragraflar ve yaklaşık 72 karakterlik satırlar hâlinde yeniden düzenleyin. Sonucu istediğiniz belgeye, e-postaya veya editöre kopyalayın.
Alan Adı Oluşturucu
Tek bir anahtar kelimeden alan adı fikirleri üretin: altı yaygın TLD'de ön ekler, son ekler, yinelenen harfler ve sayı sonları.
Kalp simgelerini kopyala
Özenle seçilmiş kalp simgelerini, renkli emojileri ve süslemeli dizileri kopyalayın. Yapıştırmadan önce tam Unicode kod noktalarını görün.
Küçük veya Eşit Sembolü
≤ işaretini ve ilgili matematiksel karşılaştırma sembollerini kopyalayın. Elektronik tablolar, makaleler ve web sayfaları için Unicode, HTML varlıkları ve LaTeX işaretlemesini içerir.
Kopyalanacak ok sembolleri
Belgeler, sohbetler ve tasarımlar için düz, çift, çapraz, kancalı, dairesel ve üçgen stillerde yaygın Unicode oklarını tek tıkla kopyalayın.
Araç diğer dillerde mevcuttur
- Detektor för osynliga tecken [SV]
- أداة كشف الأحرف غير المرئية [AR]
- Onzichtbare karakter detector [NL]
- Bộ phát hiện ký tự vô hình [VI]
- เครื่องตรวจจับตัวอักษรที่มองไม่เห็น [TH]
- Detector de Caracteres Invisibles [ES]
- 不可視文字検出器 [JA]
- Detektor Karakter Tak Terlihat [ID]
- Détecteur de caractères invisibles [FR]
- Unsichtbarer Zeichendetektor [DE]
- Detektor niewidzialnych znaków [PL]
- Detector de Caracteres Invisíveis [PT]
- 보이지 않는 문자 탐지기 [KO]
- Обнаружитель невидимых символов [RU]
- 不可见字符检测器 [ZH]
- Invisible Character Detector [EN]
- Rilevatore di Caratteri Invisibili [IT]