Penormal Unicode
String terlihat yang sama bisa disimpan sebagai sekuens byte berbeda tergantung apakah sebuah aksen ada sebagai satu titik kode atau sebagai huruf plus tanda penggabung. Penormal ini mengonversi teks antara empat bentuk normalisasi Unicode (NFC, NFD, NFKC, NFKD) agar string Anda dibandingkan dengan bersih di basis data, indeks pencarian, skrip deduplikasi, dan kecocokan regex.
Cara menormalkan teks Unicode
-
1
Tempel input Anda
Masukkan stringnya: huruf beraksen, teks CJK, ligatur, apa pun yang terasa tidak konsisten.
-
2
Pilih bentuk
Pilih NFC (terkomposisi, bentuk web yang lazim), NFD (terurai), NFKC (kompatibilitas terkomposisi), atau NFKD (kompatibilitas terurai).
-
3
Bandingkan hitungannya
Alat melaporkan jumlah karakter (titik kode) dan panjang byte sebelum dan sesudah, sehingga Anda bisa melihat apakah bentuk itu memendekkan atau memanjangkan string.
-
4
Salin output ternormalkan
Gunakan hasilnya di basis data, payload API, generator slug, atau test fixture Anda.
Empat bentuk dan kapan memakai masing-masing
Normalisasi Unicode didefinisikan oleh lampiran standar UAX #15. Keempat bentuk berbeda pada dua sumbu: kanonik lawan kompatibilitas, dan terkomposisi lawan terurai.
Referensi berdampingan
| Bentuk | Komposisi | Pemetaan | Kapan dipakai |
|---|---|---|---|
| NFC | Terkomposisi | Kanonik saja | Default untuk konten web, basis data, nama file |
| NFD | Terurai | Kanonik saja | Pemrosesan teks yang membuang aksen per karakter |
| NFKC | Terkomposisi | Termasuk kompat. | Pencarian, pengidentifikasi, filter spam, pelipatan tampilan |
| NFKD | Terurai | Termasuk kompat. | Normalisasi agresif sebelum membuang diakritik |
Bentuk kanonik mempertahankan makna
Ketik é dan ganti bentuknya. NFC melaporkan 1 karakter dan 2 byte (titik kode tunggal U+00E9), sedangkan NFD melaporkan 2 karakter dan 3 byte (sebuah e biasa diikuti aksen akut penggabung, U+0301). Keduanya terlihat identik di layar tetapi merupakan sekuens byte yang berbeda, dan ketidaksesuaian itulah yang diperbaiki normalisasi. Bentuk kanonik hanya menata ulang byte, jadi é dalam bentuk mana pun selalu berarti huruf e dengan aksen akut.
Apa yang sebenarnya diubah oleh “kompatibilitas”
Bentuk K (NFKC, NFKD) juga menulis ulang karakter yang tampak berkerabat tetapi membawa format berbeda. Ini bersifat lossy: Anda tidak bisa mendapatkan yang asli kembali. Misalnya:
fi(U+FB01, ligatur latin kecil fi) menjadifi(dua huruf)①(U+2460, digit satu dalam lingkaran) menjadi1㌀(U+3300, kotak CJK “apaato”) menjadiアパートAlebar-penuh (U+FF21) menjadiA
Itu kuat untuk pencarian dan deduplikasi tetapi merusak tipografi, jadi gunakan bentuk K hanya saat kesetiaan visual tidak penting.
Aturan praktis
- Simpan konten pengguna dalam NFC.
- Bandingkan pengidentifikasi dalam NFC agar
caféyang ditulis sebagai satu titik kode dancaféyang ditulis sebagaie+ U+0301 cocok; naik ke NFKC saat Anda juga perlufidanfi, atauAlebar-penuh danA, dibandingkan setara, seperti yang dilakukan aturan pengidentifikasi di UAX #31. - Buat slug tanpa aksen dengan menormalkan ke NFD dan menghapus blok tanda penggabung U+0300 sampai U+036F.
Pertanyaan yang Sering Diajukan
Biasanya itu berarti input Anda sudah dalam bentuk target. Tempel teks yang mencampur sumber (nama file Mac, cuplikan PDF yang disalin, baris basis data lawas) dan Anda jauh lebih mungkin melihat jumlah karakter dan byte berubah.
Untuk URL tampilan, NFC. Untuk slug yang menginginkan ASCII murni, normalkan ke NFD, buang tanda penggabung dengan regex pada U+0300 sampai U+036F, lalu jadikan huruf kecil. NFKD adalah alternatif saat Anda juga ingin melipat ligatur dan digit dalam lingkaran.
Bentuk kanonik (NFC, NFD) tidak pernah mengubah makna, hanya menata ulang byte. Bentuk kompatibilitas (NFKC, NFKD) memang mengubahnya: ligatur terpisah, huruf lebar-penuh melipat, dan superskrip mendatar. Gunakan hanya saat itulah yang Anda inginkan.
Normalisasi berjalan di server kami memakai kelas Normalizer PHP dan hasilnya kembali dalam request yang sama; teks Anda tidak disimpan. Kami hanya mencatat satu peristiwa anonim yang menandai bentuk mana yang dipakai, tidak pernah kontennya sendiri.
Alat Terkait
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.
Generator Nama Prancis Acak
Buat 1–50 ide nama Prancis dua bagian dari daftar tetap berisi 40 nama depan dan 40 nama keluarga.
Generator Teks Terbalik
Balikkan teks secara terbalik menggunakan glif Unicode yang menyerupai huruf terpantul, cocok untuk bio, keterangan gambar, dan unggahan sosial yang menarik perhatian.
Penghasil Nama Domain
Hasilkan ide nama domain dari satu kata kunci: prefiks, sufiks, huruf ganda, dan akhiran angka di enam TLD umum.
Pembuat teks meme
Tambahkan caption meme klasik ke template atau gambar sendiri. Atur teks atas dan bawah, sesuaikan font, warna dan outline, lalu unduh atau salin PNG.
Keyboard Emoji Online
Tulis pesan, sisipkan emoji pilihan pada posisi kursor, lalu salin draf lengkap di browser. Tanpa akun, unggahan, atau pengganti keyboard perangkat.
Alat ini tersedia dalam bahasa lain
- ตัวปรับข้อความให้เป็นมาตรฐาน Unicode [TH]
- Unicode-Normalisierer [DE]
- Bộ chuẩn hóa Unicode [VI]
- Normalizador Unicode [ES]
- Normaliseur Unicode [FR]
- Normalizator Unicode [PL]
- Normalizador Unicode [PT]
- مُطبِّع Unicode [AR]
- Unicode正規化ツール [JA]
- 유니코드 정규화기 [KO]
- Unicode-normaliseerder [NL]
- Unicode-normaliserare [SV]
- Unicode Normalizer [EN]
- Normalizzatore Unicode [IT]
- Нормализатор Unicode [RU]
- Unicode Normalleştirici [TR]
- Unicode 规范化工具 [ZH]