Detektor Karakter Tak Terlihat
Cantumkan teks apa pun, dan detektor akan melaporkan setiap karakter tak terlihat yang terkandung di dalamnya: ruang lebar nol, tanda arah, BOM, garis hubung lunak, ruang pemutus, serta kumpulan kode kontrol Unicode yang tampak seperti ruang kosong namun mengganggu proses pencarian, pembandingan (diff), serta salin-tempel. Setiap temuan disertai dengan kodepoin-nya (U+200B), nama resmi Unicode-nya, serta posisinya dalam string, sehingga Anda dapat menentukan secara akurat lokasi bug yang menjadi masalah sebelum memperbaikinya.
Cara mendeteksi karakter tak terlihat
-
1
Tempel teks
Masukkan string yang mencurigakan, sepotong kode, pesan yang telah disalin, atau nilai konfigurasi.
-
2
jalankan pemindaian
Alat ini memeriksa setiap kode dan menandai kode mana pun yang sesuai dengan daftar karakter tak terlihat atau format tertentu.
-
3
Periksa laporan tersebut
Setiap hasil pencarian menampilkan posisinya (diberi indeks 1), kode titiknya dalam format `U+HHHH`, serta nama Unicode-nya (seperti spasi lebar nol, BOM, dll.).
-
4
membersihkan teks
Gunakan aksi penggantian untuk menghilangkan atau memvisualisasikan karakter tersembunyi, lalu tempelkan kembali versi yang telah disaring.
Karakter-karakter tak terlihat dan asal-usulnya
Karakter-karakter ini ada karena alasan yang sah (tata letak teks, arah penulisan aksara, atau penggabungan karakter). Namun, mereka menjadi masalah teknis ketika keluar dari konteks asalnya dan digunakan dalam kode, konfigurasi, kueri pencarian, atau nama pengguna.
Karakter yang dicari oleh detektor
| Codepoint | Nama | Di mana biasanya muncul secara diam-diam |
|---|---|---|
U+200B |
Ruang lebar nol | Editor teks kaya, pemroses kata |
U+200C |
Non-Joiner Lebar Nol | Tipografi Persia dan Hindi |
U+200D |
Penghubung Lebar Nol | Urutan emoji, aksara India (Indic) |
U+200E |
Tanda kiri-ke-kanan | Teks yang mencakup skrip LTR dan RTL |
U+200F |
Tanda dari kanan ke kiri | Sama |
U+202A..E |
Penyisipan / penggantian | Sama; terkadang digunakan secara jahat (sumber Trojan) |
U+2028 |
Pemisah Baris | Dipindahkan dari Word; dapat mengganggu fungsi pengkode JSON |
U+2029 |
Pemisah Paragraf | Sama |
U+FEFF |
Tanda Urutan Byte | File disimpan dalam format UTF-8 dengan BOM di Notepad |
U+00A0 |
Ruang kosong yang tidak terputus | Ruang kosong tipografis dari Word |
U+00AD |
Tanda hyphen lunak | Petunjuk penggunaan tanda hyphen dalam teks kaya |
Gejala umum dari bug karakter tersembunyi
- Perbandingan string yang “seharusnya” sama ternyata tidak sama. Salin nilai-nilai tersebut ke alat ini dan periksa jumlah byte-nya.
- Regex yang terlihat cocok secara visual, tetapi gagal saat dijalankan dalam kode. Sering kali berupa
U+00A0yang menyamar sebagai spasi. - Parser JSON mengalami crash saat menerima payload yang ditempel. Umumnya berupa BOM di awal, atau
U+2028dalam sebuah string literal yang ditolak JavaScript di dalam JSON. - Judul SEO memiliki panjang yang tidak tepat. Spasi lebar nol membuat panjang judul melebihi batas tanpa menimbulkan perubahan yang terlihat.
Sudut pandang Trojan Source
Karakter penggantian dua arah (U+202E, U+2066… U+2069) dapat menyebabkan kode sumber ditampilkan dalam urutan tertentu namun dikompilasi dalam urutan yang berbeda, sebuah jenis serangan dari kelas “Trojan Source”. Jika Anda meninjau kode dari kontributor yang tidak terpercaya, jalankan perbandingan perubahan (diff) mereka menggunakan detektor ini sebelum melakukan penggabungan.
Pertanyaan yang Sering Diajukan
Notepad dan beberapa alat Windows versi lama secara default menggunakan format “UTF-8 dengan BOM”. BOM (U+FEFF) cukup cocok untuk aplikasi Windows, namun dapat menyebabkan masalah pada berbagai pipeline shell, file PHP (di mana BOM ditampilkan sebagai hasil eksekusi sebelum tag <?php), serta parser JSON.
Tampilannya seperti ruang biasa di layar, tetapi perilakunya berbeda: ruang ini tidak mendukung pemisahan baris dan tidak sesuai dengan sebagian besar varian regex \s dalam semua bahasa. Ruang ini sering muncul dalam jalur file, alamat email, serta nama pengguna yang ditransfer dari sumber teks lengkap.
Tidak selalu demikian. Dalam teks berbahasa Arab, Persia, atau Devanagari, penggunaan elemen penghubung lebar nol (zero-width joiner) maupun elemen yang tidak menghubungkan huruf (non-joiner) secara semantik wajib digunakan. Pada kode, konfigurasi, dan sebagian besar teks berbahasa Inggris, penghapusan elemen tersebut dapat dilakukan secara bebas. Namun, untuk konten berbahasa alami, gunakan alat deteksi untuk memeriksa terlebih dahulu sebelum melakukan penghapusan.
Tidak, analisis hanya dilakukan untuk permintaan saat ini, dan tidak ada apa pun yang Anda tempelkan yang disimpan atau dicatat setelah respons dibuat.
Alat Terkait
Simbol panah untuk disalin
Salin panah Unicode umum sekali klik: lurus, ganda, diagonal, berkait, melingkar, dan segitiga untuk dokumen, chat, dan desain.
Simbol Kurang Dari atau Sama Dengan
Salin tanda ≤ beserta simbol perbandingan matematika terkait. Termasuk Unicode, entitas HTML, dan markah LaTeX untuk spreadsheet, makalah, dan halaman web.
Generator Nama Kota
Buat nama kota, kota kecil, desa, dan ibu kota fiktif untuk worldbuilding, peta, game, cerita, dan data contoh, lengkap dengan catatan singkat untuk tiap hasil.
Konverter Teks Ramah Disleksia
Atur ulang teks yang ditempel menjadi paragraf pendek dan baris sekitar 72 karakter agar lebih mudah dibaca. Salin hasilnya ke dokumen, surel, atau editor mana pun.
Generator Bullet Point
Tempel daftar Anda dengan satu item per baris, pilih karakter bullet, lalu salin hasilnya. Sepuluh gaya bawaan: titik, panah, bintang, centang, dan lainnya.
Penghasil Nama Domain
Hasilkan ide nama domain dari satu kata kunci: prefiks, sufiks, huruf ganda, dan akhiran angka di enam TLD umum.
Alat ini tersedia dalam bahasa lain
- 不可視文字検出器 [JA]
- เครื่องตรวจจับตัวอักษรที่มองไม่เห็น [TH]
- Bộ phát hiện ký tự vô hình [VI]
- Unsichtbarer Zeichendetektor [DE]
- 보이지 않는 문자 탐지기 [KO]
- Detektor niewidzialnych znaków [PL]
- Detector de Caracteres Invisíveis [PT]
- Detector de Caracteres Invisibles [ES]
- Detektor för osynliga tecken [SV]
- أداة كشف الأحرف غير المرئية [AR]
- Détecteur de caractères invisibles [FR]
- Onzichtbare karakter detector [NL]
- Обнаружитель невидимых символов [RU]
- Görünmez Karakter Tespit Cihazı [TR]
- 不可见字符检测器 [ZH]
- Invisible Character Detector [EN]
- Rilevatore di Caratteri Invisibili [IT]