Dize Uzunluğu Denetleyicisi
Bir dizenin karakter, Unicode kod noktası, UTF-16 kod birimi ve UTF-8 baytı cinsinden uzunluğunu kontrol edin. Uygun olup olmadığını görmek için minimum ve maksimum uzunluk belirleyin ve bir emojiyi asla ortadan bölmeyen kısaltılmış bir kopya alın. Tarayıcınızda çalışır.
Girdi
Çıktı
Readme
String uzunluğu nedir?
Bir string'in uzunluğu, neyi saydığınıza bağlıdır. İnsanlar karakterleri görür, ancak programlar kod noktalarını, UTF-16 kod birimlerini veya baytları sayar ve bu sayılar çoğu zaman farklı olur. 👍🏽 emojisi tek bir karakter gibi görünür, ancak 2 kod noktası, 4 UTF-16 kod birimi ve 8 UTF-8 baytından oluşur. JavaScript, Java ve C# uzunluk olarak UTF-16 kod birimlerini bildirir; veritabanları çoğu zaman baytları sınırlar ve form alanları satır sonlarını iki karakter olarak sayabilir.
Araç açıklaması
Bu araç bir string'in uzunluğunu aynı anda dört birim cinsinden gösterir ve bunu minimum ile maksimum uzunluk değerlerine göre kontrol eder. Bir kullanıcı adının, başlığın veya veritabanı değerinin bir sınıra sığıp sığmadığını ya da iki programın aynı metin için neden farklı uzunluklar bildirdiğini öğrenmek için kullanabilirsiniz. String çok uzunsa, bir karakteri ortadan bölmeden sınıra sığan kısaltılmış bir kopya elde edersiniz.
Özellikler
- Karakterleri, Unicode kod noktalarını, UTF-16 kod birimlerini ve UTF-8 baytlarını sayar
- Uzunluğu, seçtiğiniz birimde isteğe bağlı minimum ve maksimum değerlere göre kontrol eder
- Sınırın altında kaç birim kaldığını, kaç birimin eksik olduğunu veya sınırın ne kadar aşıldığını gösterir
- Çok uzun bir string'i emojileri, bayrakları veya aksanlı harfleri bölmeden kısaltır
- Baştaki ve sondaki boşlukları yok sayabilir
- Satır sonlarını HTML formlarının gönderdiği şekilde CR LF olarak sayabilir
Nasıl çalışır?
Karakterler, bir kişinin tek bir karakter olarak okuduğu birimler olan ve tarayıcının yerleşik Unicode metin bölümleme özelliğiyle bulunan grafik kümeleridir. Kod noktaları, string içindeki Unicode değerleridir. UTF-16 kod birimleri, JavaScript'te String.length tarafından döndürülen değerlerdir: Temel Çok Dilli Düzlem dışındaki karakterler, örneğin çoğu emoji, iki kod birimi kaplar. UTF-8 baytları, UTF-8 olarak kodlanan string'in boyutudur. Kısaltma, bir sonraki karakter maksimum değeri aşacak olana kadar karakterlerin tamamını korur.
İpuçları
- Bir MySQL
VARCHARveya PostgreSQLvarcharsınırı için Unicode kod noktalarına göre kontrol edin. Dizin anahtarı veya ağ protokolü alanı gibi bir bayt sınırı için UTF-8 baytlarına göre kontrol edin. - Bir HTML input'unun
maxlengthözniteliği UTF-16 kod birimlerini sayar; bu nedenle bir emoji iki birim kullanabilir. - Tarayıcılar textarea satır sonlarını CR LF olarak gönderir; bu nedenle uzunluğu kontrol eden bir sunucu her satır sonunu iki kez sayabilir. Eşleşmesi için CR LF seçeneğini etkinleştirin.