Soysal Karakter Kümesi Dönüşümü
Önceki VI. Oylum - Karakter Kümeleriyle Çalışma Sonraki
Soysal Karakter Kümesi Dönüşümü
İçindekiler
1. Soysal Dönüşüm Arayüzü  -  Soysal karakter kümesi dönüşüm arayüzü
2. iconv Örnekleri  -  Tam bir iconv örneği
3. Diğer iconv Gerçeklemeleri  -  Diğer iconv gerçeklemeleri hakkında.
4. glibc iconv Gerçeklemesi  -  GNU C kütüphanesindeki iconv gerçeklemesi.
4.1. gconv-modules dosyalarının biçimi
4.2. iconv'de dönüşüm yolunun bulunması
4.3. iconv modülü veri yapıları
4.4. iconv modül arayüzleri
Bu kısma kadar bahsedilen dönüşüm işlevlerinin hepsi işlem yaptıkları karakter kümelerinin işlevin bir argümanı olarak belirtilmediği tüm karakter kümeleri için kullanılabilen işlevlerdi. Çokbaytlı kodlama LC_CTYPE kategorisi için seçilmiş yerel tarafından belirtilen karakter kümesini kullanır. Geniş karakter kümesi gerçeklemeyle sabittir (GNU C kütüphanesi için daima ISO 10646 kodlu UCS-4'tür.).
Bu, genel karakter dönüşümlerinde bir takım sorunlar içerir:
  • Her dönüşüm için karakter kümesi ne kaynağın ne de hedefin LC_CTYPE kategorisinde belirtilmiş yerel karakter kümesidir. LC_CTYPE yereli setlocale işlevi kullanılarak değiştirilebilir.
    LC_TYPE yerelinin değiştirilmesi, LC_CTYPE kategorisini kullanan işlevlerden (örn, karakter sınıflandırma işlevleri) dolayı yazılımın kalanında büyük sorunlara yol açar.
  • LC_CTYPE seçimi genel ve tüm evreler tarafından paylaşılan bir seçim olduğundan farklı karakter kümeleri arasındaki dönüşümler mümkün olmaz.
  • wchar_t gösterimi için kaynağın ve hedefin karakter kümesi kullanılamadığına göre önceki işlevleri kullanarak bir metni dönüştürmek istersek iki kademeli bir işlem gerekir. Birinci adımda çokbaytlı kodlama için kaynak karakter kümesi seçilip metin wchar_t metnine dönüştürülecek, ikinci adımda ise hedefin karakter kümesi seçilip geniş karakterli metin bu karakter kümesindeki çok baytlı karakterlere dönüştürülecektir.
    Bu mümkün olsa bile (garanti değildir) çok yorucu bir çalışmadır. Bundan başka, yerelin iki defa değişmesine bağlı olarak bazı sorunlara yol açabilecektir.
XPG2 standardı bu sınırlamaları olmayan tamamen yeni bir işlev ailesi tanımlar. Bunlar seçili yerele bağlı olmadıkları gibi kaynak ve hedef için seçilmiş karakter kümeleriyle ilgili bir sınırlama da getirmezler. Tek sınır dönüşüm için kullanılabilecek karakter kümeleridir. Böyle bir kullanışlılık gerçeklemenin kalitesinin bir ölçüsüdür.
Bundan sonraki bölümlerde önce iconv arayüzünden ve dönüşüm işlevinden söz edilecektir. Son olarak gelişkin dönüşüm yeteneklerinden yararlanmak isteyen ileri düzey yazılımcıları ilgilendireceği umularak gerçeklemeden bahsedilecektir.
Önceki Üst Ana Başlık Sonraki
Öteleme Durumu Başlangıç Soysal Dönüşüm Arayüzü
Bir Linux Kitaplığı Sayfası