22 puan yazan GN⁺ 2023-10-03 | 3 yorum | WhatsApp'ta paylaş
  • 20 yıl önce Joel, "Plain Text diye bir şey yoktur" diyerek kodlamayı mutlaka bilmek gerektiğini vurguladı
  • Unicode, tüm insan dillerinin bilgisayarlarda kullanılabilmesini sağlayan birleşik standarttır
  • Farklı karakterlere benzersiz numaralar atayan bir kod noktası sistemi kullanır
  • En büyük kod noktası 0x10FFFF olup yaklaşık 1,1 milyon kod noktası alanı sunar
  • UTF-8 en yaygın kodlamadır ve %98 olasılıkla kullanılır
  • UTF-8 değişken uzunluklu bir kodlamadır; kod noktaları 1 ila 4 baytlık diziler halinde kodlanabilir
  • UTF-8, ASCII ile bayt düzeyinde uyumludur ve temel Latin alfabesi için alan açısından verimlidir
  • UTF-8, yerleşik hata algılama ve kurtarma özelliklerine sahiptir; eksiksiz ve geçerli UTF-8 bayt dizilerini tanımlayabilir
  • Genişletilmiş grapheme cluster ya da grapheme, kod noktalarının değil, üzerinde yineleme yapılması gereken birimdir
  • Unicode her yıl güncellenir ve grapheme cluster'ları tanımlayan kurallar da her yıl değişir
  • Unicode, yerel ayara göre farklı şekilde render edilebilir
  • Unicode'daki surrogate pair, tek bir Unicode kod noktasını kodlamak için kullanılan iki UTF-16 birimidir
  • UTF-16, bazı sistemlerde hâlâ bellek içi gösterim olarak kullanılır
  • Unicode dizeleri karşılaştırılmadan önce normalize edilmelidir
  • Makale, strlen, indexOf, substring gibi en temel işlemlerde bile Unicode kütüphaneleri kullanmanın önemini vurguluyor

3 yorum

 
kimws 2023-10-04

"‍♂️".length için Python 3.11'de 1 döndürüyor gibi görünüyor.

 
kimws 2023-10-04

Emoji yorumlarda bozuk görünüyor

 
GN⁺ 2023-10-03
Hacker News yorumları
  • Bu yazı, Unicode'un karmaşıklığını ve yazılım geliştirmede nasıl kullanıldığını ele alıyor.
  • Bir yorumcu, makaledeki "genişletilmiş grapheme cluster" kavramının Unicode karakterlerini düşünmenin en iyi yolu olduğu görüşüne katılmıyor ve "karakter" tanımının amaçlanan kullanıma göre değişebileceğini savunuyor.
  • Yorumcu, dizeler üzerinde yineleme işleminin Unicode'un çalıştığı temel seviye olan code point'lere dayanması gerektiğini öne sürüyor.
  • Başka bir yorumcu makaleyi övüyor ve yazarın "fi" ligatürünün neden kendi code point'ine sahip olduğu sorusunu yanıtlayarak bunun Unicode'un geriye dönük uyumluluk ilkesinden kaynaklandığını açıklıyor.
  • Bir yorumcu, sayfayı okurken ekranda birden fazla fare imlecinin görünmesinden şikayet ediyor.
  • Başka bir yorumcu, kullanıcıların birden fazla dili okuyup yazabildiği durumlarda bilgisayarın locale ayarını yapmanın zorluklarını ve Linux'un Windows'a kıyasla özelleştirme seçenekleri açısından yetersiz kalmasını eleştiriyor.
  • Bir yorumcu, aksanlı karakterlerin işlenme biçimi nedeniyle üçüncü taraf sistemlere yönelik kullanıcı girdilerini temizlerken sorun yaşadığı bir deneyimini paylaşıyor.
  • Başka bir yorumcu, makaledeki code point'lerin üzerinde çalışmanın en iyi birim olmadığı iddiasına karşı çıkıyor ve code point düzeyinde işlem yapmanın mantıklı olduğu birçok durum bulunduğunu savunuyor.
  • Bir yorumcu, makaledeki "é" karakterinin Unicode'da nasıl kodlandığına dair örneği eleştiriyor; bunun yanıltıcı olduğunu ve karakterlerin genellikle nasıl kodlandığını temsil etmediğini söylüyor.
  • Başka bir yorumcu, Çince, Japonca ve Korece logogramların aynı code point'e atanması sorununu tartışıyor; bu da sistem locale'i Çince olmadığında Windows'ta Çince dosya adlarının kötü görüntülenmesine yol açıyor.
  • Bir yorumcu, sayfadaki fare imleci efektinin kafa karıştırıcı ve sinir bozucu olduğunu söylüyor.