SORU
11 HAZİRAN 2009, PERŞEMBE


Neden değil't her şeyi biz Unicode?

Unicode verilen been around for 18 years neden hala Unicode desteği yok uygulama var mı? Bazı işletim sistemleri ve Unicode ile bile tecrübelerimi az söylemek acı verici olmuştur. Joel spolsky Serkan Utku Öztürk 2003, it's not that hard.. Peki ne olmuş? in belirttiği gibi Neden birlikte olmuyorsunuz?

CEVAP
11 HAZİRAN 2009, PERŞEMBE


Bir kaç soru ile başlayalım

Ne kadar sıklıkla

  • ascıı dışında başka bir şey ile ilgilenen bir uygulama yazmak ister misin?
  • çok dilli bir uygulama yazmak ister misin?
  • bir uygulama yazmakvardır-çoklu dil ilk sürümünden?
  • Unicode temsil etmek için ascıı olmayan karakterler kullanılır duydunuz mu?
  • Unicode bir karakter olduğunu okudun mu? Unicode bir kodlama mı?
  • insanlar UTF-8 kodlanmış kafa karıştırıcı bytestrings ve Unicode verileri görüyor musun?

Bir harmanlama ve bir kodlama arasındaki farkı biliyor musunuz?

İlk Unicode duymuş muydunuz?

  • Okulda? (gerçekten mi?)
  • başarılı olmak mı?
  • üzerinde şık bir blog?

Şimdiye kadar, senin içinde vargençgün, deneyimli hareketli kaynak dosyaları bir sistem içinde yerel bir sistem yerel ayarlarını B, düzenlenmiş bir yazım hatası sistem B, kaydedilen dosyaları, b0rking tüm ascıı olmayan yorumlar ve... biten boşa bir sürü zaman anlamaya çalışıyorum ne oldu? (editör senin karışık şeyler mi? derleyici? sistem? ... ?)

Bu karar düştünbir daha aslakod ascıı olmayan karakterler kullanarak yorum olur mu?

Başka yerlerde neler yapılıyor bak

Python

Python seviyorum söz yaptım? Hayır mı? Peki Python seviyorum.

Ama Python3 kadar.0, Unicode desteği berbat. Ve bir döngü yazmak için çok az zaman tanıyan, bütün o acemi programcılar, ascıı olmayan karakterler ile başa çıkmak için çalışırken hiçbir yerden UnicodeDecodeError UnicodeEncodeError başlarken vardı. Peki bunlar temelde Unicode canavar tarafından hayatı travma var, biliyorumbir sürüçok verimli/deneyimli hala Unicode veri ile uğraşmak zorunda fikri bugün korkmuş Python kodlama.

Ve Python3, Unicode & bytestrings arasında net bir ayrım, ama... ne kadar Python 2'den bir uygulama bağlantı noktası için bak.x 3 Python için.x yoksa daha önce mi yoksa ayrılık hakkında çok şey eğer sen istemezsengerçektenUnicode ne olduğunu anlamak.

Veritabanları, PHP

Unicode olarak uluslararası metin depolayan bir popüler ticari bir web sitesi biliyor musunuz?

(Belki) Vikipedi arka uç mu olduğunu öğrenmek için sürpriz olacakdeğilUnicode verilerini kullanarak saklayın. Tüm metin UTF-8 kodlanmış ve Veritabanında ikili veri olarak saklanır.

Bir diğer önemli konu ise, burada eğer Unicode codepoints olarak saklarsanız metin verileri sıralamak için nasıl. İşte UnicodealfabeUnicode codepoints sıralama düzeni tanımlamak., Ama Veritabanlarında alfabe için uygun destek/etkin geliştirme kayıp. (Muhtemelen performans sorunları bir sürü vardır. -- İANADBA) Da, alfabe için genel kabul gören standart henüz yok: bazı diller için, insanlar kelime/wordgroups sıralanmalıdır mektupları/hakkında aynı fikirde değilim.

Unicode normalization duydun mu? (Temelde, sengerekirdepolamadan önce kurallı bir temsil için Unicode veri dönüştürme) elbette Veritabanı depolama veya yerel karşılaştırmalar için çok önemli. Ama örneğin PHP sadece Ağustos 2007'de çıktı 5.2.4 beri normalleşme için destek sağlar.

Ve aslında, PHP Henüz tamamen Unicode destekler değil. PHP6 Unicode-uyumlu fonksiyonlar her yerde almak için beklemek zorunda kalacağız.

Neden Unicode yaptığımız her şey değil mi?

  1. Bazı insanlar Unicode gerek yok.
  2. Bazı insanlar umurumda değil.
  3. Bazı insanlar bunu anlamıyordaha sonra Unicode desteği gerekiyor.
  4. Bazı insanlar Unicode anlamıyorum.
  5. Sensiz başlamak, ve bunun için destek ekler . Web uygulamasını erişilebilirlik gibi bir bit Unicode bazıları için: ^em>daha sonra
  6. Popüler pek çok kütüphane/diller/uygulamalar düzgün ve tam Unicode desteği, harmanlama ve normalleştirme sorunları saymıyorum bile olmaması. Ve tüm öğeleri geliştirme yığını tamamen Unicode desteği kadar, temiz bir Unicode uygulama yazamazsın.

İnternette açık Unicode eğilim yaymak yardımcı olur. Ve bu iyi bir şey. Python3 son değişiklikleri gibi girişimleri konu hakkında insanları eğitmek yardımcı olur. Ama önemli yerlerde sabırla biraz daha fazla Unicode her yerde görmek ve yeni programcılar içgüdüsel Dizeleri yerine Unicode kullanarak beklemek zorunda kalacak.

Anekdot için, FedEx görünüşe göre uluslararası adreslerini desteklemiyor çünkü, Google Summer of Code '09 öğrenciler ascıı-sadece ve Nakliye Adı için bir adres sağlamak için Google tarafından istenmiş. Çoğu iş sahipleri Unicode desteği arkasında tehlikenin farkındadır olduğunu düşünüyorsanız, yanılıyorsunuz. FedEx anlamıyor ve müşterileri gerçekten umurumda değil. Henüz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • discokatze

    discokatze

    23 EYLÜL 2009
  • RyanXLT

    RyanXLT

    22 Ocak 2011
  • tychoadragmire

    tychoadragmi

    20 Mart 2006