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 (ayrıca ASCII 32), Batı'da kelime bölücü olarak kullanılan betik metinde boş bir noktalama işareti temsil eder.

Genel bakış
-----------

Unicode içindeki çeşitli alanların göreli genişlikleri
Birçok klavye düzeninde, `spacebar` kullanılarak yatay bir boşluk karakteri girilebilir. Yatay boşluk da `Tab ↹` tuşunun kullanılmasıyla birçok klavyeye girilebilir, ancak boşluğun uzunluğu değişebilir. Dikey boşluk, kodlanma biçimine göre biraz daha çeşitlidir, ancak yazarken en belirgin olanı, uygulama programlarında 'yeni satır' kod dizisi oluşturan `↵ Enter` sonucudur. Eski klavyeler bunun yerine `Return` diyebilir, daktilo klavyesini sol durağa elektromekanik bir dönüş sağlayan 'Carriage-Return' anlamına gelir (CR kodunda ASCII-hex &0D;) ve satır yayın veya sonraki satıra geçme (LF kodunda ASCII-hex &0A;); bazı uygulamalarda, bunlar bağımsız olarak monitörlere metin hücresi tabanlı ekranlar çizmek veya traktör kılavuzlu yazıcılara yazdırmak için kullanılıyordu; bunlar, metin tabanlı çıkış cihazlarının daha karmaşık çıktılar elde etmesini sağlayan ters hareketler/konumlandırma kod dizileri de içerebilir. Birçok erken bilgisayar oyunu bir ekran çizmek için bu kodları kullandı (örneğin Kroz) ve kelime işlemci yazılımı bunu kalın, altı çizili ve üstü çizili gibi basılı efektler üretmek için kullanacaktır.

"Beyaz boşluk" terimi, sıradan kağıt üzerinde ortaya çıkan görünüşe dayanır. Bununla birlikte, bir uygulamanın içinde kodlanırlar, boşluk diğer karakter kodlarıyla aynı şekilde işlenebilir ve programlar, içinde bulundukları bağlam için tanımlandığı şekilde uygun eylemi yapabilir.

Tanım ve belirsizlik
--------------------

En yaygın boşluk karakterleri boşluk tuşu veya tab tuşu aracılığıyla yazılabilir. Bağlama bağlı olarak, dönüş veya enter tuşu tarafından oluşturulan satır sonu, boşluk olarak da düşünülebilir.

### Unicode

Aşağıdaki tabloda Unicode Karakter Veritabanındaki boşluk ("WSpace = Y", "WS") karakterleri olarak tanımlanan yirmi beş karakter listelenmektedir. On yedi çift yönlü yazma algoritmasıyla tutarlı bir boşluk alanı ("Çift Yönlü Karakter Türü = WS") kullanır ve "Bidi-WS" karakterleri olarak bilinir. Kalan karakterler de kullanılabilir, ancak bu "Bidi" türünde değildir.
Temizle

*Not: Aşağıdaki tabloyu görüntülemek için kullanılan tarayıcıya ve yazı tiplerine bağlı olarak, tüm boşluklar düzgün görüntülenmeyebilir.*

#### Yedekler

Unicode ayrıca boşlukları temsil etmek için kullanılabilecek bazı görünür karakterler sağlar:

Unicode alanı gösteren karakterler (görünür)| Kod | Ondalık | İsim | Blok | Görüntü | Açıklama |
| --- | --- | --- | --- | --- | --- |
|  U+00B7  | 183 | Orta nokta | Latin-1 Eki |  ·  | InterpunctAdı belirtilen varlık: `&middot;` |
| U+237D | 9085 |  Omuzlu açık kutu  |  Çeşitli Teknik  |  ⍽  | NBSP olarak belirtmek için kullanılır |
| U+2420 | 9248 | Alan sembolü | Kontrol Resimleri |  ␠  |  |
| U+2422 | 9250 | Boş sembol | Kontrol Resimleri |  ␢  | "yedek boş" olarak bilinir, BCDIC'de kullanılır, EBCDIC, ASCII-1963 vb. kelime ayırıcı olarak |
| U+2423 | 9251 | Açık kutu | Kontrol Resimleri |  ␣  | Blok harf el yazısında en azından 1980'lerden beri boşluk karakterlerinin sayısını açıkça belirtmek gerektiğinde kullanılır (örneğin kalem ve kağıtla programlama yaparken). Ders kitabında kullanılır ( 1982,  1984,  1985,  1988 Springer-Verlag tarafından yayınlandı) Modula-2'de, boşluk kodlarının açıkça belirtilmesi gereken bir programlama dili. Tuş takımında da kullanılır Texas Instruments 'TI-8*x' 'serisi grafik hesap makineleri.Adı belirtilen varlık: `&blank;`* |

1. ↑  Sıfırın üstünde "0" veya negatif "(-)" tuşu.

Boşluk olmayan boşluklar
* Braille Patterns Unicode bloğu, hiçbir nokta yükseltilmemiş bir Braille alfabesi deseni olan U+2800 ⠀ BRAILLE DESEN BOŞ (HTML `&#10240;`⧼dot-separator⧽ ) içerir. Bazı yazı tipleri karakteri sabit genişlikli bir boşluk olarak görüntüler, ancak Unicode standardı açıkça boşluk olarak hareket etmediğini belirtir.

Tam alan
* Cambridge Z88, özel bir "tam alan" (kod noktası 160 aka 0xA0) (anahtar kısayoluyla çağrılabilir `⌑`+`SPACE`,) işletim sisteminin ekran sürücüsü tarafından "…" olarak gösterilir. Bu nedenle BBC BASIC ile bağlantılı olarak "nokta boşluğu" olarak da bilinir.
* Kod noktası 224 (0xE0) altında, bilgisayar ayrıca üç karakter uzunluğunda özel bir SPACE sembolü de sağladı "SPC" (Unicode'un tek hücreli geniş U + 2420'sine benzer).

Beyaz boşluk ve dijital tipografi
---------------------------------

### Ekran üstü görüntü

Metin düzenleyici, kelime işlemcileri ve masaüstü yayıncılık ekrandaki boşlukları nasıl temsil ettikleri ve satır veya sütun genişliğinden daha uzun satırların sonundaki boşlukları nasıl temsil ettikleri konusunda farklılık gösterir. Bazı durumlarda, boşluklar yalnızca boşluk olarak gösterilir; diğer durumlarda, bir yorumcu veya başka sembollerle temsil edilebilirler. Boşluk üretmek için birçok farklı karakter (aşağıda açıklanmıştır) kullanılabilir ve karakter olmayan işlevler (kenar boşlukları ve sekme ayarları gibi) boşlukları da etkileyebilir.

### Değişken genişlikli genel amaçlı alan

Bilgisayarda karakter kodlaması, genişliği yazı tipinin tasarımına göre değişecek normal bir **genel amaçlı alan** (Unicode karakter U+0020) vardır. Tipik değerler 1/5 em ile 1/3 em arasındadır (dijital tipografide em, yazı tipinin nominal boyutuna eşittir, bu nedenle 10 puntoluk bir yazı tipi için boşluk muhtemelen 2 ile 3.3 nokta arasında olacaktır). Gelişmiş yazı tipleri kalın, italik ve küçük harfli yüzler için farklı boyutlarda boşluklara sahip olabilir ve çoğu zaman besteciler metnin boyutuna ve önemine bağlı olarak boşluğun genişliğini manüel olarak ayarlarlar.

Bu genel amaçlı boşluğa ek olarak, belirli bir genişlikte bir boşluğu kodlamak mümkündür. Tam bir liste için aşağıdaki tabloya bakın.

### Tire etrafında saç boşlukları

Uzun çizgi parantez bölücüler olarak kullanılır ve sözcük birleştiriciler olarak kullanıldığında en tireler genellikle metinle sürekli olarak ayarlanır. Ancak, böyle bir çizgi isteğe bağlı olarak U+200A veya **ince alan**, U+2009 bir *saç alanı* ile çevrilebilir. Saç boşluğu sayısal karakter referansları kullanılarak HTML `&#x200A;` eyav `&#8202;` olarak yazılabilir, veya adlandırılmış varlık `&hairsp;`, ancak henüz tarayıcılarda evrensel olarak desteklenmemektedir, (2016 (2016) itibarıyla)[*hangileri?*] İnce boşluğa `&thinsp;` varlık denir ve sayısal referanslar `&#x2009;` veya `&#8201;`. Bu boşluklar normal boşluktan çok daha incedir (tek aralıklı (orantılı olmayan) bir yazı tipi hariç), saç alanı ikisinin daha incedir.

Saç ve ince boşluklara karşı normal boşluk (tarayıcınız tarafından sunulduğu gibi)| Normal boşluk | left right |
| Uzun tire ile normal boşluk | left — right |
| Uzun çizgi ile ince alan | left — right |
| Em tire ile saç alanı | left — right |
| Uzun çizgi ile yer yok | left—right |

### Miktarların değerlerini biçimlendirme

Uluslararası Birimler Sistemi (SI), bir sayı ile ölçü birimi arasına ve bileşik birimlerdeki birimler arasına boşluk girilmesini öngörmektedir. Binlerce ayırıcı olarak ince bir alan kullanılmalıdır.

Bilgi işlem uygulamaları
------------------------

### Programlama dilleri

Programlama dili sözdiziminde, sözcüksel analizi açıkça ayırmak için boşluklar sıklıkla kullanılır. Çoğu dilde, birden çok boşluk karakteri tek bir boşluk karakteriyle aynı şekilde ele alınır (alıntılanan dizelerin dışında); bu tür dillere "serbest biçimli" denir. Haskell, occam, ABC ve Python dahil olmak üzere birkaç dilde, beyaz alan ve girinti sözdizimsel amaçlarla kullanılır. Beyaz boşluk adlı hiciv dilinde, boşluk karakterleri programlama için tek geçerli karakterken diğer karakterler yok sayılır.

Beyaz alanın aşırı kullanımı, özellikle de satırların sonundaki  *arka boşluk*  bir sıkıntı olarak kabul edilir. Ancak boşlukların doğru kullanımı kodun okunmasını kolaylaştırabilir ve grupla ilgili mantığa yardımcı olabilir.

Çoğu dil ASCII karakterlerini boşluk veya bazı durumlarda Unicode yeni satırları olarak tanır, ancak yukarıda listelenen karakterlerin çoğunu tanımaz. C dili boşluk karakterlerini "boşluk, yatay sekme, yeni satır, dikey sekme ve form besleme" olarak tanımlar. HTTP ağ protokolü, protokolün farklı bölümlerinde farklı türde boşlukların kullanılmasını gerektirir, örneğin: yalnızca status satırındaki boşluk karakteri, satır sonundaki CRLF ve üstbilgi değerlerinde "doğrusal boşluk".

### Komut satırı kullanıcı arabirimleri

Komut satırı tarafından işlenen komutlarda, örneğin komut dosyalarında ve girilen boşluk karakteri, iki olası işlevi olduğu için sorunlara neden olabilir: bir komutun veya parametrenin bir parçası olarak veya bir parametre veya ad ayırıcı olarak. Belirsizlik, gömülü boşlukları yasaklayarak veya tırnak işaretleri arasında gömülü boşluklar içeren bir ad ekleyerek önlenebilir.

### İşaretleme dilleri

SGML gibi bazı biçimlendirme dilleri, boşlukları yazılı olarak korur.

XML ve HTML gibi web biçimlendirme dilleri, programcıların rahatlığı için boşluk karakterleri de dahil olmak üzere boşluk karakterlerini özel olarak ele alır. Bu işaretleme dili görüntü zamanı işlemcileriyle uyumlu olarak okunan bir veya daha fazla boşluk karakteri, anlamsal bağlamlarına bağlı olarak 0 veya 1 boşluğa daraltılır. Örneğin, metin içindeki çift (veya daha fazla) boşluk tek bir boşluğa daraltılır ve "`=`" öğesinin her iki tarafında bir öznitelik adını değerinden ayıran boşlukların, belgenin yorumlanması. Öğe bitiş etiketleri arka boşluklar içerebilir ve XML'deki boş öğe etiketleri `/>`" öncesi boşluklar içerebilir. Bu dillerde, gereksiz boşluk dosya boyutunu artırır ve bu nedenle ağ aktarımlarını yavaşlatabilir. Öte yandan, gereksiz boşluk koddaki yorumlara benzer, ancak koddaki yorumlardan daha az belirgin olan kodu dikkat çekici bir şekilde işaretleyebilir. Bu, kesme, kopyalama ve yapıştırma tarafından işlenmiş bir ihlal lisansının veya telif hakkının kanıtlanması istenebilir.

XML öznitelik değerlerinde, boşluk ayrıştırıcı tarafından okunduğunda boşluk karakterleri dizileri tek bir boşluk olarak ele alınır. XML öğesi içeriğindeki boşluk bu şekilde ayrıştırıcı tarafından değiştirilmez, ancak ayrıştırıcıdan bilgi alan bir uygulama öğe içeriğine benzer kurallar uygulamayı seçebilir. XML belgesi yazarı, ayrıştırıcıya aşağı akış uygulamasının o öğenin içeriğindeki boşlukları değiştirmesini engellemesini bildirmek için bir öğedeki `xml:space="preserve"` özniteliğini kullanabilir.

Çoğu HTML öğesinde, bir boşluk alanı dizisi, normalde kelimeler arasında bu tür boşluklar ekleyen bir dilde metin oluşturulurken tek bir boşluk karakteri olarak ortaya çıkabilen tek bir *sözcükler arası ayırıcı* olarak ele alınır. Uyumlu HTML oluşturucuların, `pre` etiketi ve CSS uygulamak için kullanıldığı herhangi bir öğe gibi önceden belirlenmiş birkaç öğe içinde daha boşluklu bir boşluk uygulaması uygulamak gerekir. `pre` benzeri boşluk işleme. Bu tür elemanlarda, boşluk karakterleri sözcükler arası ayırıcılara "daraltılmaz".

Hem XML hem de HTML'de, ayrılmaz alan karakteri, diğer "standart olmayan" boşluklarla birlikte, katlanabilir "boşluk" olarak değerlendirilmez, bu nedenle yukarıdaki kurallara tabi değildir.

### File names

Bu tür kullanım, gömülü alan kodlarıyla karıştırılan işletim sistemleri ve uygulamalar için yazılan çok kelimeli dosya adlarına benzer, bu dosya adları bunun yerine as\_in\_this\_phrase sözcük ayırıcısı olarak alt çizgi (\_) kullanır.

Böyle bir diğer sembol U+2422 ␢ BOŞ SEMBOLÜ idi. Bu, kodlama formları üzerine yazarken bilgisayar programlamanın ilk yıllarında kullanıldı. Keypunch operatörleri sembolü hemen "açık alan" olarak tanıdı. BCDIC'de kullanılmıştır, EBCDIC, ve ASCII-1963.

Ayrıca bakınız
--------------

* Düzenli ifade
* Boşluk tuşu

Kaynakça
--------

1. ↑  "Unicode Standardı". Unicode Consortium. 1 Mart 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Aralık 2019.
2. 1 2 3 4 5 6 7 8  Mackenzie, Charles E. (1980). *Kodlu Karakter Kümeleri, Tarihçe ve Gelişim*. *Sistem Programlama Serisi* (1 bas.). Addison-Wesley Publishing Company, Inc. ss. 41, 47, 52, 102-103, 117, 119, 130, 132, 141, 148, 150-151, 212, 424. ISBN 978-0-201-14460-4. LCCN 77-90165. 18 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mayıs 2016.
3. ↑  "Bilgi Değişimi için Amerikan Standart Kodu, ASA X3.4-1963". American Standards Association (ASA). 17 Haziran 1963. 26 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Mayıs 2014.
4. ↑  "Niklaus Wirth, *Modula-2'de programlama*" (PDF). 3 Ekim 2020 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 27 Aralık 2019.
5. ↑  "Cambridge Z88 Kullanım Kılavuzu". 4.7 (4th bas.). Temel kavramlar - Klavye: Cambridge Computer Limited. 2016 [1987]. 24 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Aralık 2016.
6. 1 2 3  "Cambridge Z88 Kullanım Kılavuzu". 4.0 (4th bas.). Appendix D: Cambridge Computer Limited. 1987. 24 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Aralık 2016.
7. 1 2 3  "Cambridge Z88 User Guide". 4.7 (4th bas.). Appendix D: Cambridge Computer Limited. 2015 [1987]. 24 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Aralık 2016.
8. ↑  Farklı çizgi tiplerinin kullanımı, örneğin, *Chicago Stil El Kitabı*, 6.80, 6.83–6.86'de gösterilmiştir.
9. ↑   22 Aralık 2017 tarihinde Wayback Machine sitesinde arşivlendi. Kısım 6.4, paragraf 3
10. ↑  Fielding, R. "2.2 Basic Rules", *Hypertext Transfer Protocol—HTTP/1.1*, RFC 2616 $2
11. ↑  "3.3.3 Özellik Değeri Normalleştirmesi". *Genişletilebilir İşaretleme Dili (XML) 1.0 (Beşinci Baskı)*. World Wide Web Consortium. 10 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Aralık 2019.
12. ↑  "9.1 Whitespace". *W3CHTML 4.01 Specification*. World Wide Web Consortium. 23 Haziran 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Aralık 2019.

Dış bağlantılar
---------------

* Unicode Karakter Veritabanı Özellik Listesi19 Aralık 2019 tarihinde Wayback Machine sitesinde arşivlendi.