RTF'ten düz metin çıkarırken Türkçeyi bozmamak
RTF metni UTF-8 olarak saklamaz. ASCII dışı karakterler \'hh kaçışlarıyla yazılır — belgenin \ansicpg ile bildirdiği kod sayfasında tek bir bayt. Etiketleri bir düzenli ifadeyle ayıklarsanız o baytlar elinizde kalır ama kod sayfası kaybolur; Türkçe karakterler yanlış tabloya göre çözülür ve "Tanı" kelimesi "Taný" olarak çıkar.
Bu dönüştürücü bildirilen kod sayfasını okuyup bayt dizilerini ona göre çözüyor, Türkçenin bozulmamasının sebebi bu. Ardışık kaçışları çözmeden önce biriktiriyor da, böylece eski bir kod sayfasındaki çok baytlı bir karakter iki yanlış karaktere bölünmüyor.
Belge hiç kod sayfası bildirmiyorsa araç bunu söylüyor ve hangisini varsaydığını yazıyor, sessizce tahmin etmiyor. Kaynağı biliyorsanız seçimi elle değiştirebiliyorsunuz.
Türkçe RTF dosyaları hangi kod sayfasını kullanır?
- Genellikle cp1254 (Windows Türkçe). Türkçe bir Windows kurulumunda eski Delphi ya da Office sürümleriyle üretilen dosyalar çoğunlukla bunu bildirir; bazıları yanlışlıkla cp1252 bildirir ki elle değiştirmenin işe yaradığı durum tam olarak budur.
Biçimlendirme korunuyor mu?
- Hayır — çıktı tasarım gereği düz metin. Kalın, tablo ve renkler düşüyor; satır sonları ve paragraf sınırları korunuyor.