İçeriğe atla

Düz metin

Bir xterm penceresinde cat komutuyla görüntülenen Royal Dixon tarafından yazılan The Human Side of Animals bölümünü içeren metin dosyası

Bilgi işlemde, düz metin yalnızca karakterlerden oluşan okunabilir materyali temsil eden ancak grafiksel gösterimini veya diğer nesneleri (kayan noktalı sayılar, resimler, vb.) temsil etmeyen veriler (örneğin dosya içerikleri) için kullanılan geniş/serbest bir terimdir. Ayrıca metnin basit düzenini etkileyen boşluklar, satır sonları veya sekme karakterleri gibi sınırlı sayıda "boşluk" karakteri de içerebilir. Düz metin, stil bilgilerinin dahil edildiği biçimlendirilmiş metinden; paragraflar, bölümler ve benzerleri gibi belgenin yapısal kısımlarının tanımlandığı yapılandırılmış metinden; ve bazı kısımların ikili nesneler (kodlanmış tamsayılar, gerçek sayılar, görüntüler, vb.) olarak yorumlanması gereken ikili dosyalardan farklıdır.

Bu terim, bazen oldukça gevşek bir şekilde, "sadece" "okunabilir" içerik (veya sadece konuşmacının tercih etmediği hiçbir şey içermeyen dosyalar) içeren dosyalar anlamında kullanılır. Örneğin, herhangi bir yazı tipi veya düzen göstergesi (işaretleme, işaretleme veya hatta sekmeler gibi); kıvırcık tırnaklar, kesilmeyen boşluklar, yumuşak tireler, em tire ve/veya bitişik harfler gibi karakterler veya diğer şeyler hariç tutulabilir.

Prensip olarak, düz metin herhangi bir kodlama içinde olabilir, ancak bazen bu terim ASCII anlamına gelir. UTF-8 ve UTF-16 gibi Unicode tabanlı kodlamalar daha yaygın hale geldikçe, bu kullanım azalıyor olabilir.

Düz metin bazen yalnızca "ikili" dosyaları hariç tutmak için de kullanılır: dosyanın en azından bazı bölümlerinin yürürlükteki karakter kodlamasıyla doğru şekilde yorumlanamadığı dosyalar. Örneğin, "hello" (herhangi bir kodlamada) ve ardından bir karakter olmayan ikili bir tamsayıyı ifade eden 4 bayttan oluşan bir dosya veya dize ("string") ikili bir dosyadır. Bir düz metin dosyasını farklı bir karakter kodlamasına dönüştürmek, doğru karakter kodlaması kullanıldığı sürece metnin anlamını değiştirmez. Ancak, bir ikili dosyanın farklı bir biçime dönüştürülmesi, metin olmayan verilerin yorumlanmasını değiştirebilir.

Düz metin ve zengin metin

Unicode Standardına göre:[1]

  • "Düz metin, karakter kodlarının saf bir dizisidir; düz kodlanmamış metin bu nedenle Unicode karakter kodlarının bir dizisidir.
  • Buna karşılık, "zengin metin" olarak da bilinen "biçimlendirilmiş metin" ("styled text"), düz metin artı dil tanımlayıcısı, yazı tipi boyutu, renk, köprü metni bağlantıları vb. gibi ek bilgiler içeren herhangi bir metin gösterimidir.
  • SGML, RTF, HTML, XML ve TeX, düz metin verilerini ek veri yapılarını temsil eden karakter dizileriyle serpiştirerek tamamen düz metin akışları olarak temsil edilen zengin metin örnekleridir."

Ancak diğer tanımlara göre, işaretleme veya diğer üst veri (meta-data) içeren dosyalar, işaretleme aynı zamanda doğrudan insan tarafından okunabilir bir formda olduğu sürece (HTML, XML vb.) genellikle düz metin olarak kabul edilir. Dolayısıyla, SGML, RTF, HTML, XML, wiki işaretlemesi ve TeX gibi gösterimlerin yanı sıra neredeyse tüm programlama dili kaynak kodu dosyaları düz metin olarak kabul edilir. Bir dosyanın düz metin olup olmadığı belirli bir içerikle ilgili değildir. Örneğin, bir SVG dosyası çizimleri ve hatta bit eşlemeli 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, Endianlığın tüm sorunlarından kaçınılabilir (UTF-8 yerine UCS-2 gibi kodlamalarla, endianlık önemlidir, ancak potansiyel olarak bilinmeyen alt kümeleri için değil, her karakter için eşit olarak).

Kullanım

Günümüzde düz metin kullanmanın amacı, öncelikle kendi özel kodlama veya biçimlendirme veya dosya biçimi gerektiren programlardan bağımsız olmaktır. Düz metin dosyaları her yerde bulunan metin editörü ve yardımcı programlarla açılabilir, okunabilir ve düzenlenebilir.

Bir komut satırı arayüzü insanların düz metin olarak komutlar vermesine ve yine tipik olarak düz metin olarak bir 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; ayrıca 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 dosyası için de yaygın olarak kullanılır.

Düz metin çoğu e-posta için 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 saklamak için en iyi format ikili format yerine düz metindir.[2]

Kodlama

Karakter kodlamaları

1960'ların başlarından önce bilgisayarlar metin yazmaktan ziyade sayılarla yoğun hesaplama için kullanılıyordu ve bellek son derece pahalıydı. Bilgisayarlar genellikle her karakter için yalnızca 6 bit ayırır ve yalnızca 64 karaktere izin verirdi ― A-Z, a-z ve 0-9 için kodlar atandığında yalnızca 2 kod kalırdı: bu da yeterli değildi. Çoğu bilgisayar küçük harfleri desteklememeyi tercih etti. Bu nedenle, Roberto Busa'nın Index Thomisticus, Brown Corpus ve diğerleri gibi ilk metin projeleri, aslında büyük harf olması amaçlanan harflerin önüne bir yıldız işareti koymak gibi kurallara başvurmak zorunda kaldı.

IBM'den Fred Brooks, bir gün insanlar metin işlemek isteyebileceği için 8 bit uzunluğundaki baytlara geçilmesini şiddetle savundu ve kazandı. IBM EBCDIC kullanmasına rağmen, o andan itibaren çoğu metin ASCII'de kodlanmaya başlandı, (yazdırılmayan) kontrol karakterleri için 0'dan 31'e kadar değerler ve harfler, rakamlar ve noktalama işaretleri gibi grafik karakterler için 32'den 127'ye kadar değerler kullanıldı. Çoğu makine karakterleri 7 yerine 8 bitte saklıyor, kalan biti yok sayıyor ya da sağlama toplamı (CRC) olarak kullanıyordu.

ASCII'nin neredeyse her yerde bulunması büyük bir yardımdı, ancak uluslararası ve dilsel kaygıları gidermekte başarısız oldu. Dolar işareti ("$") İngiltere'de 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 dilinde kullanılan karakterlerden bahsetmiyorum bile). Birçok kişi, şirket ve ülke ihtiyaç duydukları ekstra karakterleri tanımladılar -genellikle kontrol karakterlerini yeniden atadılar veya 128 ila 255 aralığındaki değerleri kullandılar. 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 kalkmıştır.

Bu ek karakterler, farklı ülkelerde farklı şekilde kodlanıyordu ve bu da metinlerin, orijinal kurallarını anlamadan çözülmesini imkansız hale getiriyordu. Örneğin, bir tarayıcı bir karakter kümesini başka bir karakter kümesi olarak yorumlamaya çalışırsa ` yerine ¬A' görüntüleyebilir. Uluslararası Standardizasyon Örgütü (ISO) sonunda çeşitli dillere uyum sağlamak için ISO 8859 altında birkaç kod sayfası geliştirdi. Bunlardan ilki (ISO 8859-1) "Latin-1" olarak da bilinir ve Latin tabanlı karakterler kullanan Avrupa dillerinin çoğunun (hepsinin değil) ihtiyaçlarını karşılar (hepsini kapsayacak kadar yer yoktu). Daha sonra ISO 2022, dosya ortasında farklı karakter setleri arasında "geçiş" için kurallar sağlamıştır. Diğer birçok kuruluş bunların varyasyonlarını geliştirdi ve uzun yıllar boyunca Windows ve Macintosh bilgisayarlar uyumsuz varyasyonlar kullandı.

Metin kodlama durumu gittikçe daha karmaşık hale geldi ve ISO ve Unicode Consortium tarafından bilinen tüm (veya en azından şu anda bilinen tüm) dilleri kapsayabilecek tek ve birleşik bir karakter kodlaması geliştirme çabalarına yol açtı. Bazı anlaşmazlıklardan sonra,[] bu çabalar birleştirildi. Unicode şu anda 1.114.112 kod değerine izin vermekte ve neredeyse tüm modern metin yazma sistemlerinin yanı sıra birçok tarihi ve matbaa dingbatları, matematiksel semboller gibi dilsel olmayan birçok karakteri kapsayan kodlar atamaktadır.

Metin, kodlamasına bakılmaksızın düz metin olarak kabul edilir. Alıcının metni düzgün bir şekilde anlayabilmesi veya işleyebilmesi için hangi kodlamanın kullanıldığını bilmesi (veya anlayabilmesi) gerekir; ancak kullanılan bilgisayar mimarisi veya veriyi oluşturan program (varsa) tarafından tanımlanan ikili yapılar hakkında herhangi bir şey bilmesine gerek yoktur.

Düz metnin belirli kodlamasını açıkça belirtmenin belki de en yaygın yolu bir MIME türü kullanmaktır. E-posta ve HTTP için varsayılan MIME türü "text/plain"dir. -- biçimlendirme içermeyen düz metin. Hem e-posta hem de HTTP'de sıklıkla kullanılan bir diğer MIME türü "text/html; charset=UTF-8" -- HTML biçimlendirmesiyle UTF-8 karakter kodlaması kullanılarak temsil edilen düz metin. Bir başka yaygın MIME türü de "application/json" -- JSON işaretlemesiyle UTF-8 karakter kodlaması kullanılarak temsil edilen düz metin.

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

Kontrol kodları

ASCII ilk 32 kodu (0-31 ondalık sayılar) "C0 seti" olarak bilinen kontrol karakteri için ayırır: başlangıçta yazdırılabilir bilgileri temsil etmek için değil, ASCII kullanan cihazları (örneğin yazıcılar) kontrol etmek veya manyetik bantta depolananlar gibi veri akışları hakkında üst bilgi sağlamak için tasarlanmış kodlar. Bunlar satır sonu karakteri ("newline") ve tab karakteri gibi yaygın karakterleri içerir.

Latin-1 ve diğer ISO 8859 setleri gibi 8 bitlik karakter setlerinde, "üst yarının" (128 ila 159) ilk 32 karakteri de "C1 seti" olarak bilinen kontrol kodlarıdır. Nadiren doğrudan kullanılırlar; görünürde bir ISO 8859 kodlamasında olan belgelerde ortaya çıktıklarında, kod konumları genellikle Windows-1252 veya Mac OS Roman gibi özel, sisteme özgü bir kodlamadaki o konumdaki karakterlere atıfta bulunur, bunun yerine kodları ek grafik karakterleri sağlamak için kullanır.

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

Ayrıca bakınız

Kaynakça

  1. ^ "The Unicode Standard, version 14.0" (PDF). ss. 18-19. 26 Ağustos 2021 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 16 Nisan 2024. 
  2. ^ Andrew Hunt & David Thomas (1999), "Chapter 14: "The Power of Plain Text"", The Pragmatic Programmer, s. 73 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Ogg</span>

Ogg ya da bir diğer yazılışıyla OGG, Xiph.org Vakfı tarafından geliştirilen açık ve özgür bir çokluortam dosya biçimidir. Yazılım patentlerinin tehdidi altında olmayan bu dosya biçimi, akışkan video için optimize edilmiş yüksek kalitede çokluortam gerçeklemeleri için geliştirilmiştir.

UTF-8 8-bitlik bir Unicode dönüşüm biçimidir. Unicode karakterlerini değişken sayıda 8 bitten oluşan bayt gruplarıyla kodlamakta kullanılır. Rob Pike ve Ken Thompson tarafından geliştirilmiştir.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

SMTP, bir e-posta göndermek için sunucu ile istemci arasındaki iletişim şeklini belirleyen protokoldür. Farklı işletim sistemleri için geliştirilmiş e-posta protokolleri bulunmaktadır. Bu e-posta protokollerinin SMTP'ye geçit yolu (gateway) vardır. SMTP, Aktarım Temsilcisi ve Kullanıcı Temsilcisi yazılımları arasındaki iletişimi sağlar. TCP'nin üst katmanında çalışır.

Sunum Katmanı veya 6. katmanın' en önemli görevi yollanan verinin karşı bilgisayar tarafından anlaşılabilir halde olmasını sağlamaktır. Böylece farklı programların birbirlerinin verisini kullanabilmesi mümkün olur.

<span class="mw-page-title-main">Unicode</span> endüstri standartı

Unicode Unicode Consortium organizasyonu tarafından geliştirilen ve her karaktere bir sayı değeri karşılığı atayan bir endüstri standardıdır. Sistemin amacı farklı karakter kodlama sistemlerinin birbiriyle tutarlı çalışmasını ve dünyadaki tüm yazım sistemlerinden metinlerin bilgisayar ortamında tek bir standart altında temsil edilebilmesini sağlamaktır. Evrensel Karakter Kümesi (UCS) olarak bilinen ISO/IEC 10646 standardı ise, her iki organizasyonun işbirliği ile aynı sayısal karşılıkları taşımaktadır. Unicode, son sürümü itibarıyla 129 farklı modern ve tarihî yazım sistemine ait 120.000'den fazla karakteri ve emoji gibi çeşitli sembol kümelerini kapsamaktadır.

<span class="mw-page-title-main">ASCII</span> Latin alfabesi üzerine kurulu 7 bitlik bir karakter kümesi

ASCII Latin alfabesi üzerine kurulu 7 bitlik bir karakter kümesidir. İlk kez 1963 yılında ANSI tarafından standart olarak sunulmuştur.

Base64 ikili verilerin sadece ASCII karakterlerini kullanan ortamlarda iletilmesine ve saklanmasına olanak tanıyan bir kodlama şemasıdır.

Â, Türkçedeki yabancı kökenli sözcüklerin ve eklerin telaffuzunu Türkçeye uyarlamak için kullanılır. Â harfiyle başlayan kelimeler de vardır: Âkif, Âdem, âlem, âmâ gibi. Şapkalı a genellikle l, k ve g, h ünsüzlerinden sonra kullanılır. Hâlâ, dergâh, rüzgâr, dükkân, kâgir, kâğıt, kâtip, kâr, kâse, Mevlâ, hâl, mekân, mükâfat, yâr, Kâbe, Hakkâri gibi. Uzun okunması gereken diğer ünlüler için kullanılmaz. Fakat kalın okunması gereken k ve g harflerinden sonra gelen uzun a ^ imi almaz. Kasım (Bey), kanun vb. Â harfi Türkçenin her yerinde egemen olmasına rağmen, resmî alfabede yer almaz.

<span class="mw-page-title-main">Kate (metin düzenleyici)</span>

Kate, KDE için yazılmış bir metin editörüdür. Kate "KDE advanced text editor" sözcüklerinin baş harflerinden oluşur.

<span class="mw-page-title-main">BCD kodu</span>

BCD kodu, bilgisayar ve elektronik sistemlerinde onluk tabandaki (decimal) sayıların ikilik tabana (binary) dönüştürülmesi için kullanılan sayısal kodlama metodudur. Bu dönüştürme işlemi yapılırken öncelikle sayının her bir basamağı tek tek ikilik tabana çevrilir ve ardından her basamağın karşılık geldiği binary değerler sırasıyla birleştirilerek sayının BCD Kodu ile gösterimi elde edilir.

Bir açık dosya biçimi, sayısal verileri saklamak için genellikle standart organizasyonları tarafından yayımlanmış ve herkesçe kullanılıp uyarlanılabilicek belirtimlerdir. Örneğin açık biçimler hem sahipli hem de ücretsiz ve özgür yazılımlarda her birinde kullanılan tipik yazılım lisanslarıyla birlikte kullanılabilir. Açık biçimlerin aksine kapalı biçimlerde ticari sırlar olduğu kabul edilir. Açık biçimler eğer telif hakkı, patent, ticari marka ve benzeri diğer kısıtlamalar içermiyor ve herkes istediği amaçla maddi bir maliyet olmaksızın kullanabiliyorsa özgür dosya biçimleri olarak anılır.

Alfanümerik, Latin alfabesindeki harfleri ve Arap rakamlarını (0-9) kullanan karakter dizisini tanımlamakta kullanılan bir sıfat. Benzer şekilde bu dizinin üyelerinden her biri de alfanümerik olarak tanımlanır. Geniş tanımıyla noktalama işaretlerini ve bazı diğer özel karakterleri de kapsar.

<span class="mw-page-title-main">Karakter kodlaması</span> yazıdaki karakterleri rakamsal değerlerle temsil etmek

Bilişimde karakter kodlaması kavramı bir çeşit kodlama sistemi kullanılarak kodlanmış karakter gruplarını temsil etmektedir. Soyutlama düzeyi ve kullanıldığı bağlama bağlı olarak karakterlere karşılık gelen kod noktaları ve bunların oluşturdukları kod alanı, bit örüntüleri, oktetler, doğal sayılar, elektrik sinyalleri vb. şeklinde algılanabilir. Metinsel verilerin işlenmesi, depolanması ve iletimi esnasında karakter kodlamaları kullanılır. Karakter seti, karakter eşlem veya kod sayfası gibi ifadeler karakter kodlaması kavramıyla eş anlamlıymış gibi kullanılsa da aralarında bazı anlam farkları bulunmaktadır.

Karakter kodlaması terminolojisinde, kod noktası veya kod konumu kod uzayını oluşturan sayısal değerlerin her birine verilen isimdir. Kod noktalarının karşılık geldiği karakterler genelde çizgisel karakterler olsa da zaman zaman biçimlendirme karakterleri de olabilmektedir.

<span class="mw-page-title-main">TextEdit (yazılım)</span>

TextEdit, ilk olarak NeXT'in NextStep ve OpenStep'te bulunan, basit, açık kaynaklı bir kelime işlemci ve metin düzenleyicidir. Apple 'nin NeXT'i satın almasından bu yana MacOS ile dağıtılıyor ve Linux gibi diğer Unix benzeri işletim sistemleri için bir GNUstep uygulaması olarak mevcuttur. Apple Advanced Typography tarafından desteklenmektedir ve birçok gelişmiş tipografi özelliğine sahiptir.

Programlamada, beyaz boşluk tipografide yatay veya dikey alanı temsil eden herhangi bir karakter veya karakter dizisidir. Oluşturulduğunda, bir boşluk karakteri görünür bir işarete karşılık gelmez, ancak genellikle bir sayfadaki bir alanı kaplar. Örneğin, ortak boşluk sembolü U+0020   SPACE, Batı'da kelime bölücü olarak kullanılan betik metinde boş bir noktalama işareti temsil eder.

<span class="mw-page-title-main">DjVu</span>

DjVu, öncelikle taranan belgeleri, özellikle de metin, çizgi çizimleri, dizine alınmış renkli görüntüler ve fotoğrafları depolamak için tasarlanmış bir bilgisayar dosya formatıdır. Metin ve arka plan / görüntülerin görüntü katmanı ayrımı, aşamalı yükleme, aritmetik kodlama ve çift tonlu görüntüler için kayıplı sıkıştırma gibi teknolojileri kullanır. Bu, yüksek kaliteli, okunabilir görüntülerin minimum alanda depolanmasına ve böylece web'de kullanılabilir hale gelmelerine olanak tanır.

Bir hex düzenleyici [hex editör], bir bilgisayar dosyası oluşturan temel ikili verilerinin değiştirilmesine izin veren bir bilgisayar programıdır. 'Hex' adı, ikili verileri temsil etmek için standart bir sayısal format olan 'hexadecimal'dan gelir. Tipik bir bilgisayar dosyası, içeriği dosyayı oluşturmak için birleştirilen depolama ortamında birden fazla alan kaplar. Floppy veya sabit disklerin fiziksel bölümlerindeki disk sektörü verilerini ayrıştırmak ve düzenlemek için tasarlanmış hex düzenleyiciler, bazen sektör düzenleyicileri veya disk düzenleyicileri olarak da adlandırılır.

<span class="mw-page-title-main">Shapefile</span>

Shapefile biçimi, coğrafi bilgi sistem (CBS) yazılımı için coğrafi bir vektör veri biçimidir. Esri tarafından, Esri ve diğer CBS yazılım ürünleri arasında veri birlikte çalışabilirliği için çoğunlukla açık bir spesifikasyon olarak geliştirilir ve düzenlenir. Shapefile biçimi, vektör özelliklerini uzamsal olarak tanımlayabilir: noktalar, çizgiler ve çokgenler, örneğin su kuyularını, nehirleri ve gölleri temsil eder. Her öğenin genellikle onu tanımlayan ad veya sıcaklık gibi nitelikleri vardır.