Düz metin - Plain text

Metin dosyası Hayvanlar İnsan Side tarafından Kraliyet Dixon , komutuyla görüntülenen catbir in xterm penceresinin

Gelen bilgi işlem , düz metin yalnızca temsil veri (örneğin dosya içeriği) için kullanılan bir terimdir karakterleri okunabilir malzeme değil onun grafiksel gösterimi ne de diğer nesneler ( kayan noktalı sayılar , görüntüler, vs.). Ayrıca, boşluklar, satır sonları veya tablolama karakterleri gibi metnin basit düzenlemesini etkileyen sınırlı sayıda "boşluk" karakteri içerebilir (sekme karakterleri birçok farklı anlama gelebilse de, bu nedenle pek "düz" değildir). Düz metin, stil bilgilerinin dahil edildiği biçimlendirilmiş metinden farklıdır ; paragraflar, bölümler ve benzerleri gibi belgenin yapısal bölümlerinin tanımlandığı yapılandırılmış metinden; ve bazı bölümlerin ikili nesneler olarak yorumlanması gereken ikili dosyalardan (kodlanmış tamsayılar, gerçek sayılar, görüntüler, vb.).

Terim bazen oldukça gevşek bir şekilde, yalnızca "okunabilir" içerik içeren dosyalar (veya yalnızca konuşmacının tercih etmediği hiçbir şeyi olmayan dosyalar) anlamında kullanılır . Örneğin, bu, herhangi bir yazı tipi veya düzen göstergesini (işaretleme, işaretleme ve hatta sekmeler gibi) hariç tutabilir; kıvrık tırnaklar, bölünmeyen boşluklar, yumuşak kısa çizgiler, uzun tireler ve/veya bitişik harfler gibi karakterler; ya da başka şeyler.

Prensip olarak, düz metin herhangi birinde olabilir kodlama , ancak bazen terim ima etmek alınır ASCII . UTF-8 ve UTF-16 gibi Unicode tabanlı kodlamalar daha yaygın hale geldikçe, bu kullanım azalıyor olabilir.

Düz metin ayrıca bazen yalnızca "ikili" dosyaları hariç tutmak için kullanılır: dosyanın en azından bazı bölümlerinin geçerli karakter kodlaması yoluyla doğru şekilde yorumlanamadığı dosyalar. Örneğin, "merhaba"dan (herhangi bir kodlamada) oluşan ve ardından yalnızca bir karakter(ler) olmayan bir ikili tamsayıyı ifade eden 4 bayttan oluşan bir dosya veya dize , en gevşek ortak metinler tarafından bile düz metin değil, ikili bir dosyadır. kullanımlar. Kullanımları tamamen farklı sayılar temsil etmek bir karakter kodlaması için bir düz metin dosyası tercüme, başka bir deyişle karakterleri (çok uzun kodlama kullanımda ne olduğunu gibi) anlamını değiştirmez, ancak ikili dosyalar için böyle bir dönüşüm yapar anlamını değiştirmek dosyanın en azından bazı bölümlerinden.

Düz metin ve zengin metin

Unicode Standardına göre:

  • " Düz metin , saf bir karakter kodları dizisidir; düz kodlanmamış metin, bu nedenle bir Unicode karakter kodları dizisidir.
  • Buna karşılık, zengin metin olarak da bilinen tarz metin , düz metin artı bir dil tanımlayıcısı, yazı tipi boyutu, renk, köprü metni bağlantıları vb. gibi ek bilgiler içeren herhangi bir metin temsilidir.

SGML, RTF, HTML, XML ve TEX, tamamen düz metin akışları olarak temsil edilen, düz metin verilerini ek veri yapılarını temsil eden karakter dizileriyle serpiştiren zengin metin örnekleridir."

Bununla birlikte, diğer tanımlara göre, biçimlendirme veya diğer meta verileri içeren dosyalar , biçimlendirme aynı zamanda doğrudan insan tarafından okunabilir biçimde olduğu sürece ( HTML , XML vb.'de olduğu gibi) genellikle düz metin olarak kabul edilir . Bu nedenle, SGML , RTF , HTML , XML , wiki işaretlemesi ve TeX gibi temsiller ve neredeyse tüm programlama dili kaynak kodu dosyaları düz metin olarak kabul edilir. Belirli içerik, bir dosyanın düz metin olup olmadığıyla ilgisizdir. Örneğin, bir SVG dosyası çizimleri ve hatta bit eşlemli grafikleri ifade edebilir, ancak yine de düz metindir.

İkili dosyalar yerine düz metin kullanımı, kısmen bilgisayar mimarisi uyumsuzluklarına karşı büyük ölçüde bağışıklık kazandırarak dosyaların "vahşi doğada" çok daha iyi hayatta kalmasını sağlar. Örneğin, Endianness'in tüm sorunlarından kaçınılabilir ( UTF-8 yerine UCS-2 gibi kodlamalarla , endianness önemlidir, ancak potansiyel olarak bilinmeyen alt kümeleri yerine her karakter için aynı şekilde).

kullanım

Günümüzde düz metin kullanmanın amacı, öncelikle kendi özel kodlamalarını veya biçimlendirmelerini veya dosya biçimlerini gerektiren programlardan bağımsız olmaktır . Düz metin dosyaları, her yerde bulunan metin düzenleyicileri ve yardımcı programları ile açılabilir, okunabilir ve düzenlenebilir .

Bir komut satırı arabirimi , insanların düz metin olarak komutlar vermesine ve genellikle düz metin olarak da yanıt almasına olanak tanır.

DOS , Windows , klasik Mac OS ve Unix ve benzerlerindeki sayısız program gibi diğer birçok bilgisayar programı da düz metin işleme veya oluşturma yeteneğine sahiptir ; yanı sıra web tarayıcıları ( Lynx ve Line Mode Browser gibi birkaç tarayıcı , görüntüleme için yalnızca düz metin üretir) ve diğer e-metin okuyucular.

Düz metin dosyaları programlamada neredeyse evrenseldir; bir programlama dilinde talimatlar içeren bir kaynak kod dosyası neredeyse her zaman bir düz metin dosyasıdır. Düz metin, bir programın başlangıcında kaydedilen ayarlar için okunan yapılandırma dosyaları için de yaygın olarak kullanılır .

Çoğu e-posta için düz metin kullanılır .

Bir yorum , bir " .txt " dosyası veya bir TXT Kaydı genellikle yalnızca insanların okuması için tasarlanmış düz metin (biçimlendirme olmadan) içerir.

Bilgiyi kalıcı olarak depolamak için en iyi biçim, bazı ikili biçimler yerine düz metindir .

kodlama

Karakter kodlamaları

1960'ların başlarından önce, bilgisayarlar metinden ziyade sayıları kırmak için kullanılıyordu ve bellek son derece pahalıydı. Bilgisayarlar genellikle her karakter için yalnızca 6 bit ayırarak yalnızca 64 karaktere izin verir; AZ, az ve 0-9 için kod atamak yalnızca 2 kod bırakır: Yeterince yakın bir yerde değil. Çoğu bilgisayar küçük harfleri desteklememeyi seçti. Böylece, örneğin erken metin projeleri Roberto Busa 'ın Dizin Thomisticus , Kahverengi Corpus ve diğerleri böyle aslında büyük harf olması amaçlanmıştır harfleri önceki bir yıldız işareti anahtarlama olarak sözleşmeler başvurmak zorunda kaldı.

IBM'den Fred Brooks , bir gün insanlar metni işlemek isteyebilir; ve kazandı. IBM'in EBCDIC kullanmasına rağmen , o andan itibaren çoğu metin (yazdırılmayan) kontrol karakterleri için 0 ila 31 arasındaki değerler ve harfler, rakamlar ve noktalama işaretleri gibi grafik karakterler için 32 ila 127 arasındaki değerler kullanılarak ASCII'de kodlanmaya başlandı . Çoğu makine, kalan biti yok sayarak veya sağlama toplamı olarak kullanarak karakterleri 7 yerine 8 bit olarak depolar .

ASCII'nin neredeyse her yerde bulunması çok yardımcı oldu, ancak uluslararası ve dilsel kaygıları ele alamadı. Dolar işareti ("$") İngiltere'de o kadar kullanışlı değildi ve İspanyolca, Fransızca, Almanca, Portekizce ve diğer birçok dilde kullanılan aksanlı karakterler ASCII'de tamamen mevcut değildi (Yunanca, Rusça, ve çoğu Doğu dilleri). Birçok kişi, şirket ve ülke gerektiğinde fazladan karakterler tanımladı; genellikle kontrol karakterlerini yeniden atayarak veya 128 ile 255 aralığındaki değerleri kullanarak. 128'in üzerindeki değerlerin kullanılması, 8. bitin sağlama toplamı olarak kullanılmasıyla çelişir, ancak sağlama toplamı kullanımı yavaş yavaş ortadan kalkar. .

Bu ek karakterler farklı ülkelerde farklı şekilde kodlandı ve metinleri oluşturanın kurallarını anlamadan çözülmesini imkansız hale getirdi. Örneğin, bir tarayıcı bir karakter kümesini başka biri olarak yorumlamaya çalışırsa , ` yerine ¬A görüntüleyebilir . Uluslararası Standardizasyon Örgütü ( ISO ) sonunda çeşitli dilleri barındırmak için ISO 8859 kapsamında birkaç kod sayfası geliştirdi . Bunlardan ilki ( ISO 8859-1 ) "Latin-1" olarak da bilinir ve Latin tabanlı karakterleri kullanan çoğu (hepsi değil) Avrupa dilinin ihtiyaçlarını karşılar (hepsini kapsayacak kadar yer yoktu) . ISO 2022 daha sonra dosyanın ortasındaki farklı karakter kümeleri arasında "geçiş" için kurallar sağladı. Diğer birçok kuruluş bunlar üzerinde varyasyonlar geliştirdi ve uzun yıllar Windows ve Macintosh bilgisayarlar uyumsuz varyasyonlar kullandı.

Metin kodlama durumu giderek daha karmaşık hale geldi ve ISO ve Unicode Konsorsiyumu tarafından bilinen tüm (veya en azından şu anda bilinen tüm) dilleri kapsayabilecek tek, birleşik bir karakter kodlaması geliştirme çabalarına yol açtı . Bazı çatışmalardan sonra, bu çabalar birleştirildi. Unicode şu anda 1.114.112 kod değerlerine izin verir ve neredeyse tüm modern metin yazma sistemlerini ve ayrıca birçok tarihi olanları ve yazıcının dingbat'ları , matematiksel sembolleri vb. gibi dilsel olmayan birçok karakter için kodlar atar .

Metin, kodlamasından bağımsız olarak düz metin olarak kabul edilir. Alıcının onu doğru bir şekilde anlamak veya işlemek için hangi kodlamanın kullanıldığını bilmesi (veya anlayabilmesi) gerekir; bununla birlikte, kullanılan bilgisayar mimarisi veya verileri (varsa) hangi program tarafından oluşturulmuş olursa olsun tanımlanan ikili yapılar hakkında hiçbir şey bilmeleri gerekmez.

Düz metnin özel kodlamasını açıkça belirtmenin belki de en yaygın yolu bir MIME türüdür . E-posta ve HTTP için varsayılan MIME türü " metin/düz " - işaretlemesiz düz metindir. Hem e-postada hem de HTTP'de sıklıkla kullanılan diğer bir MIME türü " text/html ; charset=UTF-8" -- HTML işaretlemesi ile UTF-8 karakter kodlaması kullanılarak temsil edilen düz metindir. Diğer bir yaygın MIME türü, "application/json" - JSON işaretlemesi ile UTF-8 karakter kodlaması kullanılarak temsil edilen düz metindir .

Karakter kodlamasının açık bir göstergesi olmadan bir belge alındığında, bazı uygulamalar hangi kodlamanın kullanıldığını tahmin etmeye çalışmak için karakter kümesi algılamayı kullanır.

Kontrol kodları

ASCII , "C0 seti" olarak bilinen kontrol karakterleri için ilk 32 kodu (0-31 ondalık sayılar) ayırır : orijinal olarak yazdırılabilir bilgileri temsil etmeyi değil , ASCII kullanan cihazları ( yazıcılar gibi ) kontrol etmeyi amaçlayan kodlar veya manyetik bantta depolananlar gibi veri akışları hakkında meta-bilgi sağlamak için . Yeni satır ve sekme karakteri gibi ortak karakterler içerirler .

Latin-1 ve diğer ISO 8859 kümeleri gibi 8 bitlik karakter kümelerinde , "üst yarının" (128 ila 159) ilk 32 karakteri de "C1 kümesi" olarak bilinen kontrol kodlarıdır. Nadiren doğrudan kullanılırlar; Görünüşte bir ISO 8859 kodlamasında olan belgelerde göründüklerinde, kod konumları genellikle , kodları kullanan Windows-1252 veya Mac OS Roman gibi tescilli, sisteme özgü bir kodlamada bu konumdaki karakterlere atıfta bulunur. bunun yerine ek grafik karakterler sağlamak için.

Unicode , iki yönlü metin yönü geçersiz kılma karakterleri (soldan sağa yazma içinde sağdan sola yazmayı açıkça işaretlemek için kullanılır) ve CJK ideograflarının , emojilerin alternatif biçimlerini seçmek için varyasyon seçicileri dahil olmak üzere ek kontrol karakterlerini tanımlar . ve diğer karakterler.

Ayrıca bakınız

Referanslar