C0 ve C1 kontrol kodları - C0 and C1 control codes

C0 C1 kontrol kodu ya da kontrol karakteri setleri bilgisayar sistemleri ile metinde kullanım için kontrol kodlarını kullanan ASCII ve ASCII türevleridir. Kodlar , imlecin konumu, yeni bir satır başlatma talimatı veya metnin alındığına dair bir mesaj gibi metin hakkında ek bilgileri temsil eder .

C0 kodları aralığı 00 olan HEX -1F HEX ve varsayılan C0 seti aslen tanımlandı ISO 646 ( ASCII ). C1 kodları aralığı 80 olan bir HEX -9F HEX ve varsayılan C1-grubu ilk olarak tanımlanmıştır ECMA-48 (ISO 6429 daha sonra uyumlu). ISO / IEC 2022 kontrol ve grafik karakterleri belirleme sistemi diğer C0 ve C1 setleri uzmanlaşmış uygulamalar için kullanılabilir olmasını sağlar, ancak nadiren kullanılırlar.

C0 kontrolleri

ASCII , 32 kontrol karakteri tanımladı ve ayrıca hepsi 1 DEL karakteri için gerekli bir ekstra karakter (bir kağıt bant üzerindeki tüm deliklerin açılması ve silinmesi gerekir).

Çok baytlı kontroller, çağdaş elektronik ve mekanik terminallerde çok zor olan terminalde bir durum makinesinin uygulanmasını gerektireceğinden, bu çok sayıda kod o zamanlar arzu edilirdi. O zamandan beri, orijinal kontrollerin yalnızca birkaçı kullanımlarını sürdürdü: BS, TAB, LF, VT, FF ve CR'nin "boşluk" aralığı; BEL kodu; ve ESC (ancak, ISO-2022-JP dışında , neredeyse her zaman bir ESC'nin parçası olarak,'[' bir ANSI kaçış dizisini başlatan CSI gösterimi ). Diğerleri kullanılmamıştır veya NUL'nin C string sonlandırıcı olması gibi farklı anlamlar kazanmıştır .

ANPA-1312 , Kermit ve XMODEM gibi bazı seri iletim protokolleri , orijinal tanımlarına yaklaşmak amacıyla SOH, STX, ETX, EOT, ACK, NAK ve SYN kontrol karakterlerini kapsamlı bir şekilde kullanır.

Temel ASCII kontrol kodları

Bunlar, orijinal olarak ANSI X3.4'te tanımlanan standart ASCII kontrol kodlarıdır . Kullanılıyorsa , ISO / IEC 2022 uzatma mekanizmasını, oktet dizisi ile aktif C0 kontrol karakter kümesi olarak tanımlanır 0x1B 0x21 0x40( ESC ! @).

sıra Aralık altıgen Kısaltma Sembol İsim C Açıklama
^@ 00 00 NUL Boş \0 Başlangıçta, düzenlemeler için kağıt bant üzerinde boşluk bırakılmasına izin vermek için kullanılır. Daha sonra, bir terminalin işlenmesi biraz zaman alabilecek bir kodun (örneğin, bir baskı terminalinde satır başı veya satır besleme) sonrasını doldurmak için kullanılır. Artık, özellikle C programlama dilinde, genellikle bir dize sonlandırıcı olarak kullanılır.
^A 01 01 SOH Başlık Başlangıcı Mesaj iletiminde, bir mesaj başlığının başlangıcını sınırlar. Bu başlığın formatı, gazetecilik metin iletimi için IPTC 7901 gibi uygulanabilir bir protokol tarafından tanımlanabilir ve genellikle STX tarafından sonlandırılır. In Hadoop'un , genellikle alan ayıracı olarak kullanılır.
^B 02 02 STX Metnin Başlangıcı Mesaj metninin ilk karakteri ve mesaj başlığını sonlandırmak için kullanılabilir.
^C 03 03 ETX Metnin Sonu Mesaj iletiminde, bir mesajın ana metninin sonunu sınırlar. Bunu, geçerli bir protokol veya herhangi bir ek metin tarafından tanımlanan "metin sonrası bilgi" (yani yapılandırılmış bir altbilgi) ve ardından EOT takip edebilir. Klavye girişinde, genellikle bir programı veya işlemi kesmek veya sonlandırmak için "ara" karakteri (Ctrl-C) olarak kullanılır.
^D 04 04 EOT İletimin Sonu Bir başlık, mesaj metni ve metin sonrası altbilgi veya hatta birden çok metin ve ilişkili başlık içerebilen iletilen mesajın sonunu sınırlar. Terminalleri beklemeye almak için de kullanılabilir. Genellikle Unix'te bir terminaldeki dosya sonunu belirtmek için kullanılır ve kabuk tarafından komut exitveya logout.
^E 05 05 ENQ Soruşturma Hala mevcut olup olmadığını görmek için alıcı uçta bir yanıtı tetiklemeyi amaçlayan sinyal.
^F 06 06 ACK Kabullenmek Bir ENQ'ya yanıt veya bir mesajın başarıyla alındığını gösteren bir gösterge.
^G 07 07 BEL Zil , Uyarı \a Başlangıçta terminalde bir zil çalmak için kullanılır . Daha sonra fiziksel zili olmayan sistemlerde bip sesi için kullanıldı. Ayrıca ters videoyu hızlı bir şekilde açıp kapatabilir (görsel bir zil).
^H 08 08 BS geri al \b İmleci bir konum sola hareket ettirin. Girişte bu, imlecin solundaki karakteri silebilir. Erken bilgisayar teknolojisinde, bir kez yazdırılan bir karakterin silinemediği çıktıda, geri al tuşu bazen ASCII'de aksanlı karakterler oluşturmak için kullanıldı. Örneğin à, üç karakter dizisi kullanılarak a BS `(veya karakterlerin onaltılık değerleri kullanılarak) üretilebilir 0x61 0x08 0x60. Bu kullanım artık genel olarak desteklenmemektedir (örneğin, ISO/IEC 8859'da yasaktır ). Geri almanın iki olası kullanımı arasında netlik sağlamak için, iptal karakter kontrol kodu standart C1 kontrol setinin bir parçası yapıldı.
^I 09 09 HT Karakter Tablolama, Yatay Tablolama \t Sonraki karakter sekme durağına konumlandırın .
^J 10 0A LF Satır besleme \n On Daktilo , yazıcılar ve bazı terminal emülatörlerine , onun sütun konumunu etkilemeden tek bir satırda aşağı imleci hareket ettirir. Unix'te satır sonunu işaretlemek için kullanılır . In DOS , Windows'un ve çeşitli ağ standartları, LF-sonu hattı işaretinin parçası olarak CR aşağıdaki kullanılır.
^K 11 0B VT Satır Tablolama, Dikey Tablolama \v Formu sonraki satır sekme durağına konumlandırın.
^L 12 0C FF Form besleme \f Yazıcılarda sonraki sayfayı yükleyin. Birçok programlama dilinde boşluk olarak kabul edilir ve koddaki mantıksal bölümleri ayırmak için kullanılabilir. Bazı terminal emülatörlerinde ekranı temizler. IETF tarafından yayınlanan RFC'ler gibi bazı yaygın düz metin dosyalarında hala sayfa sonu karakteri olarak görünür .
^M 13 0D CR Satırbaşı \r Başlangıçta, aynı satırda kalırken imleci sıfır sütununa taşımak için kullanılır. On klasik Mac OS (öncesi Mac OS X ) yanı sıra daha önceki sistemlerde Apple II ve Commodore 64 işaretine kullanılan, ucu-of-line . In DOS , Windows'un ve çeşitli ağ standartları, bu sonu hattı işaretinin parçası olarak LF önceki kullanılır. Klavyedeki Enter veya Return tuşu bu karakteri gönderir, ancak bir terminal programı tarafından farklı bir satır sonu dizisine dönüştürülebilir.
^N 14 0E BU YÜZDEN Dışarı Kaydır Alternatif bir karakter kümesine geçin.
^O 15 0F Vardiya Shift Out'tan sonra normal karakter setine dönün.
^P 16 10 DLE Veri Bağlantısından Kaçış Sınırlı sayıda bitişik olarak takip eden sekizlilerin farklı bir şekilde, örneğin ham veri olarak (kontrol kodları veya grafik karakterlerinin aksine) yorumlanmasına neden olun. Bunun ayrıntıları uygulamaya bağlıdır.

(Şimdi geri çekilen) ECMA-37 gibi standartlar, ek iletim kontrol işlevlerine erişim için Veri Bağlantısı Kaçış karakterinin belirli uygulamaları için mevcuttu.

Unicode için Standart Sıkıştırma Şeması , SCSU verilerinin SCSU'nun C0 baytlarını yeniden kullanmasıyla karıştırılacak bir sistem üzerinden iletilmesi gerekiyorsa, tüm C0 aralığı baytlarının DLE ile değiştirilmesini ve ardından bu bayt artı 0x40'ı önerir.

^Q 17 11 DC1 Cihaz Kontrol Bir ( XON ) Bu dört kontrol kodu, yorumlanması bağlı oldukları cihaza bağlı olarak cihaz kontrolü için ayrılmıştır. DC1 ve DC2, öncelikle bir aygıtın etkinleştirilmesini belirtmeyi amaçlarken, DC3 ve DC4'ün birincil olarak bir aygıtı duraklatmayı veya kapatmayı belirtmesi amaçlanmıştır. DC1 ve DC3 (bu kullanımda sırasıyla XON ve XOFF olarak da bilinir), ASCII Telex ağlarında "uzak kağıt şerit okuyucuyu başlat ve durdur" işlevleri olarak ortaya çıkmıştır . Bu teleprinter kullanımı, yazılım akış kontrolü için fiili standart haline geldi .
^R 18 12 DC2 Cihaz Kontrolü İki
^S 19 13 DC3 Cihaz Kontrolü Üç ( XOFF )
^T 20 14 DC4 Cihaz Kontrolü Dört
^U 21 15 NAK Olumsuz Onay Bir istasyon tarafından, bağlantının kurulduğu istasyona olumsuz yanıt olarak gönderilir. İkili senkron iletişim protokolünde NAK, daha önce alınan blokta bir hata tespit edildiğini ve alıcının bu bloğun yeniden iletimini kabul etmeye hazır olduğunu belirtmek için kullanılır. Çok noktalı sistemlerde, NAK bir ankete hazır olmayan yanıt olarak kullanılır.
^V 22 16 SYN Senkron Boşta Senkron iletim sistemlerinde, özellikle başka hiçbir karakter iletilmediğinde, veri terminal ekipmanı arasında senkronize düzeltmenin elde edilebileceği bir sinyal sağlamak için kullanılır.
^W 23 17 ETB İletim Bloğunun Sonu Veriler, aktarım amaçları için bu tür bloklara bölündüğünde, bir aktarım veri bloğunun sonunu belirtir.

Başka bir amaç için kullanılmıyorsa, IPTC 7901 , ETB'nin paragraf sonu karakteri olarak yorumlanmasını önerir.

^X 24 18 YAPABİLMEK İptal Kendinden önceki verilerin hatalı olduğunu veya dikkate alınmaması gerektiğini belirtir.
^Y 25 19 EM Ortamın sonu Bandın kullanılabilir kısmının sonuna ulaşıldığını kağıt veya manyetik bantlar üzerinde göstermenin bir yolu olarak tasarlanmıştır. Ayrıca, ortamın kullanılan kısmının sonunu da işaretleyebilir ve ortamın fiziksel ucuna mutlaka karşılık gelmeyebilir.

Başka bir amaç için kullanılmıyorsa, IPTC 7901 , bir paragrafın ilk satırını girintilemek için EM'nin boşluk olarak yeniden kullanılmasını önerir (ayrıca bkz . EMSP ).

^Z 26 1 A ALT Yerine geçmek Orijinal olarak, bozuk veya geçersiz karakterlerin alındığını belirtmek için bir aktarım kontrol karakteri olarak kullanılması amaçlanmıştır. Sağladığı hataların bant içi sinyalleşmesine ihtiyaç duyulmadığında, özellikle sağlam hata algılama ve düzeltme yöntemlerinin kullanıldığı veya hataların karakteri kullanmak için yeterince nadir olmasının beklendiği durumlarda , genellikle başka amaçlar için kullanılmaya başlanmıştır. diğer amaçlar tavsiye edilir. In DOS , , Windows , CP / M ve türevleri Digital Equipment Corporation, işletim sistemleri, bu dosyanın sonunu belirtmek için kullanılır hem terminalde, bazen metin dosyaları yazarak diskte depolanabilir.
^[ 27 1B ESC Kaçmak \e Esc tuşu klavyede bu karakter pek çok sistemde gönderilmesine neden olur. Bir ekrandan, menüden veya moddan çıkmak için yazılım kullanıcı arayüzlerinde veya aşağıdakilerin normal metin yerine özel bir komut dizisi olduğunu belirtmek için cihaz kontrol protokollerinde (örneğin, yazıcılar ve terminaller) kullanılabilir. ISO/IEC 2022'ye dayalı sistemlerde , başka bir C0 kontrol kodu seti kullanılsa bile, bu sekizlinin her zaman kaçış karakterini temsil etmesi gerekir.

^\ 28 1C FS Dosya Ayırıcı Veri yapılarının alanlarını işaretlemek için sınırlayıcı olarak kullanılabilir . Hiyerarşik düzeyler için kullanılırsa, US en düşük düzeydir (düz metin veri öğelerini böler), RS, GS ve FS ise altındaki düzeydeki öğelerden oluşan grupları bölmek için artan düzeydedir.

Unix bilgileri biçimi bir düğüm başlangıcını işaretlemek için isteğe bağlı form besleme ve satır sonu ardından ABD, kullanır.

MARC 21 , bir alt alan sınırlayıcı olarak ABD'yi, bir alan sonlandırıcı olarak RS'yi ve bir kayıt sonlandırıcı olarak GS'yi kullanır.

IPTC 7901'in güncel baskısında, başka amaçlar için kullanılmadıkları takdirde, tablolarda sütun ayırıcı olarak US, tablolarda "Merkezi Alan Ayırıcı" olarak FS ve bir sonraki boşluğu işaretlemek için sırasıyla GS ve RS kullanılması önerilir. veya tire-eksi olarak sigara kırma veya yumuşak sırasıyla (karakter setleri açık NBSP ve SHY karakterleri tedarik değil).

Python 'ın splitlinesdize yöntemi davranır FS, GS ve RS, ancak ABD, satır bölme karakterlere ek olarak ayırıcı olarak.

^] 29 1B GS Grup Ayırıcı
^^ 30 1E RS Kayıt Ayırıcı
^_ 31 1F Biz Birim Ayırıcı
Teknik olarak C0 kontrol karakter aralığının bir parçası olmamakla birlikte, aşağıdaki iki karakter, hangi kontrol karakterlerinin ve grafik karakterlerinin kaydedilmiş olduğuna bakılmaksızın her zaman kullanılabilir olarak ISO/IEC 2022'de tanımlanmıştır . Kontrol karakterlerinin bazı özelliklerine sahip oldukları düşünülebilir.
  32 20 SP Uzay Boşluk bir grafik karakterdir. Bir grafik sembolün yokluğundan oluşan görsel bir temsili vardır. Aktif pozisyonun bir karakter pozisyonu kadar ilerlemesine neden olur. Bazı uygulamalarda Boşluk, bitişik ayırıcı karakterlerle kullanılacak en düşük düzeyli "kelime ayırıcı" olarak kabul edilebilir.
^? 127 7F DEL Silmek Teknik olarak C0 kontrol karakter aralığının bir parçası değil, bu orijinal olarak kağıt bant üzerinde silinen karakterleri işaretlemek için kullanılıyordu, çünkü herhangi bir karakter her yerde delikler açılarak tüm karakterlere dönüştürülebiliyordu. On VT100 uyumlu terminalleri, bu genellikle denilen ⌫ etiketli anahtarı tarafından üretilen karakter geri silme Modern makinelerde, ve PC karşılık gelmeyen silme tuşu .

Kategori-Numara adları

Temel ASCII kontrol kodlarının birçoğu birkaç kategoride sınıflandırılır ve bazen bu kategori ve bir sayıdan oluşan alternatif kısaltılmış isimler verilir:

  • Şanzıman kontrolleri: TC 1 (SOH), TC 2 (STX), TC 3 (ETX), TC 4 (EOT), TC 5 (ENQ), TC 6 (ACK), TC 7 (DLE), TC 8 (NAK) , TC 9 (SYN), TC 10 (ETB).
  • Biçim efektörleri: FE 0 (BS), FE 1 (HT), FE 2 (LF), FE 3 (VT), FE 4 (FF), FE 5 (CR).
  • Cihaz kontrolleri: DC 1 , DC 2 , DC 3 , DC 4 .
  • Bilgi ayırıcılar: IS 1 (ABD), IS 2 (RS), IS 3 (GS), IS 4 (FS).
  • Kilitleme vardiyaları: LS 0 (SI), LS 1 (SO).
  • Diğerleri: NUL, BEL, CAN, EM, SUB, ESC.

ISO/IEC 2022 (ECMA-35), C0 kilitleme kaymalarını 8 bit ortamlarda LS0 ve LS1 olarak ve 7 bit ortamlarda SI ve SO olarak ifade eder.

ASCII'nin ilk 1963 baskısı, DLE'yi bir iletim kontrolü yerine bir cihaz kontrolü olarak sınıflandırdı ve ona DC0 ("veri bağlantısı çıkışı için ayrılmış cihaz kontrolü") kısaltmasını verdi.

Biçim efektör (FE) kodları , donanım aygıtlarının diğer işlevlerini kontrol etmek veya başka yan etkilere sahip olmak yerine, grafik karakterlerin nasıl yerleştirildiğini ve oluşturulacağını etkileyen biçimlendirmeyi ( satır sonları gibi) tanımlar ve etkinleştirir . C0 formatı efektörlerine ISO/IEC 6429 DCS , OSC , PM ve APC dizilerinde izin verilir . Bilgi ayırıcılar ve C0 format efektörleri (eksi BS ), Unicode Standardı tarafından tanımlanan semantiği olan tek C0 kontrol kodlarıdır, C0 kontrollerinin geri kalanının yorumlanması daha yüksek seviyeli protokollere bırakılır.

ISO/IEC 2022 (ECMA-35), C0 kontrol kodu setleri on ASCII iletim kontrol (TC) kodunu içeriyorsa, bunların ASCII konumlarında kodlanmalarını gerektirir. Ayrıca, bu on iletim kontrolünün bir C1 kontrol kodu setine dahil edilmesini yasaklar ve bu on iletim kontrolünün bir C0 kontrol setine dahil edilmesini yasaklar.

Değiştirilmiş C0 kontrol kodu setleri

C0 kontrol kodu setleri genellikle ASCII kontrol kodlarının çoğunu değişmeden korusa da, belirli kontrol fonksiyonlarını alternatiflerle değiştiren bir sayı kaydedilir. Videotex ile ilgili olanlar hariç, bunlardan bir seçki aşağıda gösterilmiştir.

sıra Aralık altıgen Değiştirildi Kod set(ler)inde Kısaltma İsim Açıklama
^I 09 09 HT NATS, IPTC NS biçimlendirme Tablo biçimindeki verilerde bir sonraki tablo konumuna geçmek için (bu bağlamda "Sekme" semantiğini koruyarak) ve bir sonraki aşamayı belirtmek için standart biçimlerde kullanılır. Geçerli IPTC spesifikasyonu bunun yerine normal ASCII C0 kontrollerinin kullanılmasını ve US kontrolünün tablolarda bir sütun sonu olarak kullanılmasını önerir .
^K 11 0B VT NATS, IPTC EÇG Öğretimin Sonu Dizgi aygıtına yönelik bir yazım talimatının sonunu sınırlar.
^L 12 0C FF NATS, IPTC SCD Eğitimin Başlangıcı Dizgi aygıtına yönelik bir tipografik talimatın başlangıcını sınırlandırır.
^M 13 0D CR NATS, IPTC QL Dörtlü Sol Sola hizalanması gerektiğini belirten bir satırı sonlandırır. Mevcut IPTC spesifikasyonu bunun yerine normal ASCII C0 kontrollerinin kullanılmasını ve bu işlevin < CR LFdiziyle temsil edilmesini önerir .
^N 14 0E BU YÜZDEN NAT'lar UR Üst Ray Metnin vurgulanan bir bölgesini başlatır. 1975'ten itibaren İskandinav gazetecilik metin iletiminde kullanılır; 1976 itibariyle IPTC önerileri bunun yerine FT2 ve FT3'ü kullandı (aşağıya bakın). Mevcut IPTC spesifikasyonu, bunun yerine normal ASCII C0 kontrollerinin kullanılmasını ve bu fonksiyonun ^karakterle işaretlenmesini önerir .
^O 15 0F NAT'lar LR Alt Ray Metnin vurgulanan bir bölgesini sonlandırır. 1975'ten itibaren İskandinav gazetecilik metin iletiminde kullanılır; 1976 itibariyle IPTC önerileri bunun yerine FT1'i kullandı (aşağıya bakın). Mevcut IPTC spesifikasyonu, bunun yerine normal ASCII C0 kontrollerinin kullanılmasını ve bu fonksiyonun @karakterle işaretlenmesini önerir .
^Q 17 11 DC1 IPTC FT1 Yazı Tipi Bir Normal yazı tipine geçer, yani kalın veya italik özelliğini devre dışı bırakır.
^R 18 12 DC2 IPTC FT2 Yazı Tipi İki İtalik yazı tipine geçer.
^S 19 13 DC3 IPTC FT3 Yazı Tipi Üç Kalın yazı tipine geçer.
^X 24 18 YAPABİLMEK NATS, IPTC KW Kelimeyi Öldür Önceki sözcüğü siler (hangisi önce gelirse, son boşluğa geri döner ve son boşluk dahil veya önceki satır sonuna geri döner ve onu hariç tutar). Bu bağlamda "İptal" semantiğini korur, ancak daha spesifik bir işlevi vardır.
^Y 25 19 EM T.61 / T.51 , Bağımsız SS2 Tek Vardiya İki G2 için kilitlenmeyen vardiya kodu ; 7 bitlik bir ortamda bir bayt ile temsil edilmesini sağlayan bir C0 gösterimi.
^\ 28 1C FS NATS, IPTC, Bağımsız SS, SS2 Süper Vardiya veya Tek Vardiya İki Kilitlenmeyen vardiya kodu .
JIS C 6225 CEX Kontrol Uzantısı Daha sonraki kaynaklarda JIS X 0207 olarak adlandırılan, şimdi geri çekilen JIS C 6225 tarafından belirtildiği gibi bir kontrol dizisi tanıtır. Bunlar, dikey metin davranışını, üst simgeleri ve alt simgeleri kontrol etmek ve özel karakter grafiklerini iletmek için dizileri içeriyordu .
^] 29 1B GS NATS, IPTC kalite kontrol Dörtlü Merkez Ortalanması gerektiğini belirten bir satırı sonlandırır.
T.61 / T.51 SS3 Tek Vardiya Üç G3 için kilitlenmeyen vardiya kodu ; 7 bitlik bir ortamda bir bayt ile temsil edilmesine izin veren bir C0 gösterimi.
^^ 30 1E RS NATS, IPTC QR Dörtlü Sağ Sağa hizalanması gerektiğini belirten bir satırı sonlandırır.
^_ 31 1F Biz NATS, IPTC JY Savunmak Yaslanacak bir satırı sonlandırır.

Diğer C0 kontrol kodu setleri

Teletekst , tamamen farklı bir dizi kontrol kodu tanımlar . ECMA-48'in C0 kontrol kodlarıyla uyumluluğun gerekli olmadığı formatlarda, bu kontrol kodları bazen şeffaf bir şekilde Unicode C0 kontrol kodu aralığına (U+0000 ila U+001F) eşlenir.

C1 kontrolleri

ABD menşeli ASCII'ye ek olarak kodun ulusal versiyonları kavramını tanıtmak için standardı revize eden ISO 646'nın 1972 baskısının geliştirilmesine paralel olarak, ASCII için genişleme mekanizmalarının tanımlanması amacıyla da çalışmalar yürütülmüştür, ECMA-35 ve ISO 2022 olarak yayınlanacak olan hem 7 bit hem de 8 bit ortamlar için geçerlidir .

Bu mekanizmalar, herhangi bir uyumlu 8 bitlik kodun karşılık gelen 7 bitlik bir koda dönüştürülebilmesi ve bunun tersi şekilde tasarlanmıştır . 7-bit ortamında, Vites Çıkış ( SO ) kontrol 94 bayt anlamı değiştirecek 0x21boyunca 0x7Ealternatif bir dizi karakter çağırmak için (yani, alan hariç grafik kodlar) ve (in Shift SI ) kontrol olur onları geri değiştirin. 8 bitlik bir ortamda, kaydırma kodları kullanmak yerine, sekizinci bit, ek grafik karakter kümesine atıfta bulunan bir bayt üzerine ayarlandı. Bu bayt anlamına geliyordu 0xA1aracılığıyla 0xFEek grafik karakterler için kullanılmıştır. 7 bitlik bir kodun kaydırma durumundan etkilenmeyen C0 kontrol karakterleri, her zaman sekizinci bit ayarlanmamış olarak 8 bitlik bir kodda temsil edilecekti. Aralığı sonuç olarak, aksi takdirde-kullanılmayan bayt 0x80through 0x9Fyerine olarak temsil edilen ek kontrol kodlarının, için kullanılabilir 0x1B 0x40yoluyla 0x1B 0x5F( ESC @yoluyla ESC _bir 7-bit kodu). Bu ek kontrol kodları, C1 kontrol kodları olarak bilinir hale gelir . 7 bitlik gösterimle uyumluluğu korumak için, baytların davranışı 0xA0ve 0xFFbaşlangıçta tanımsız bırakıldı.

ISO 2022 ile kullanım için kaydedilen ilk C1 kontrol kodu seti , 1979'da kaydedilen bibliyografik kullanım için özel bir set olan DIN 31626'dır . ECMA-48 spesifikasyonuna rağmen genel kullanım ISO/IEC 6429 seti 1983'te tescil edilmiştir. dayandığı ilk kez 1976'da yayınlanmıştı.

Standartların daha sonraki sürümleri, hükümleri bir ölçüde değiştirmiştir. Örneğin, 1985'te ECMA-35 ve ISO 2022'ye yapılan bir başka revizyon, 96 kodlu bir grafik karakter seti kavramını tanıttı. Bir 8-bit kodu olarak, tüm bu dizi izin 0xA0için 0xFFgrafik karakterler için kullanılır. 96 kodlu setlerin kullanılması, aynı zamanda , kod Shift In durumunda olmadığı sürece, baytların 0x20ve 0x7Fkarşılık gelen 7 bitlik kodun anlamının "Boşluk" ve "Sil"den farklı olabileceği anlamına geliyordu . G0 (Shift In) seti için 96 kodlu setlerin kullanılması mümkün değildi.

Bu revize edilmiş 8 bitlik ISO 2022 kod yapısına uygun olarak, ISO 8859 , 0x20–7E üzerindeki ASCII grafik karakterleriyle birlikte 0xA0–FF üzerinden kodlanacak karakter kümelerini tanımlar ve bu aralıkların dışındaki baytları şu şekilde kullanmak üzere ayırır: ISO 6429 gibi diğer spesifikasyonlara göre grafiksel olmayan kodlar. Unicode, ilk 256 kod noktasını ISO 8859-1'den devralır, bu nedenle C1 kontrol kodu seti için ayrılmış bir aralığı da içerir, ancak işlevlerini çoğunlukla daha yüksek düzeyde tanımlanacak şekilde bırakır. varsayılan olarak önerilen ISO/IEC 6429 ile protokoller .

Genel kullanım için C1 kontrol kodları

Bunlar en yaygın genişletilmiş kontrol kodlarıdır ve ISO/IEC 6429 , ECMA -48 ve JIS X 0211'de (önceden JIS C 6323) tanımlanmıştır. Kullanılıyorsa , ISO / IEC 2022 uzatma mekanizmasını, bunlar sırası ile aktif C1 kontrol karakter kümesi olarak tanımlanır 0x1B 0x22 0x43( ESC " C). Her ne kadar Unicode yorumu bırakarak, belirli bir C1-kontrol kodu kümesi gerektirmez yüksek seviyeli protokol ile belirtilen, sadece U + 0085 için bir davranışını belirler için, bu yokken, ISO / IEC 6429 belirtildiği gibi C1-kontrol kodları yorumlama önerir başka amaçlar için kullanılması. Ayrıca aşağıda ISO / IEC 6429 kodlarının yanında sıralanan üç kontrol kodları tabloda listelenen RFC  1345 , ama aslında ISO / IEC 6429 (tarafından tanımlanmamış PAD , HOP ve SGC ).

Hariç SS2 ve SS3 içinde EUC-JP metin ve NEL gelen dönüştürülmüş metinde EBCDIC , bu kodların 8 bitlik formları kullanılmaktadır neredeyse hiçbir zaman. CSI , DCS ve OSC , metin terminallerini ve terminal öykünücülerini kontrol etmek için kullanılır , ancak neredeyse her zaman 7-bit kaçış kodu gösterimlerini kullanarak. Bunların ISO / IEC 2022 uyumlu tek baytlık temsilleri geçersizdir UTF-8 , ve bunların karşılık gelen codepoints UTF-8 kodlamalar uzun zamandır çıkış kodu formları gibi iki bayt (örneğin, CSI U +, 009B de bayt olarak kodlanır olan 0xC2, UTF-8'de 0x9B), bu nedenle eşdeğer iki baytlık kaçış dizisi yerine bunları kullanmanın hiçbir avantajı yoktur. Bu kodlar modern belgelerde, web sayfalarında, e-posta mesajlarında vb. göründüğünde, genellikle , sağlamak için C1 kodlarını kullanan Windows-1252 veya Mac OS Roman gibi tescilli bir kodlamada bu konumdaki karakterleri yazdırmaları amaçlanır. ek grafik karakterler.

Bazı C1 kodlarının resmi İngilizce adları, genel olarak kontrol kodları standardının en son baskısında (ISO 6429:1992 veya ECMA-48:1991), bunlarla birlikte kullanılan grafik karakterlere göre nötr olacak şekilde revize edilmiştir ve Latin alfabesinde olduğu gibi bir sayfada satırların yukarıdan aşağıya, karakterlerin ise soldan sağa bir satıra yazıldığını varsaymamak. Standart, standart diğer dillere çevrildiğinde bunların değişmeden kalacağını zaten belirttiğinden, kullanılan kısaltmalar değiştirilmedi. Adın değiştirildiği durumlarda, kısaltmanın türetildiği asıl ad da aşağıdaki tablolarda parantez içinde verilmiştir.

Esc+ Aralık altıgen Akro İsim Açıklama
@ 128 80 ped Dolgu Karakteri Dahil değildir ISO / IEC 6429 (ECMA-48). ISO 10646'nın ilk taslaklarında, ASCII olmayan karakterleri kodlamak için önerilen bir mekanizmanın parçası olarak kullanıldı. Bu kullanım sonraki taslaklarda kaldırıldı. Yine de, ISO-2022 tabanlı Genişletilmiş Unix Kodunun (EUC) dahili kullanımlı iki baytlık sabit uzunluklu biçimi tarafından, kod kümeleri 1 ve 3'teki tek baytlık karakterlerin sol doldurulması için kullanılır, oysa NUL, kod için aynı işlevi görür. 0 ve 2. kümeler. Bu, olağan "paketlenmiş" EUC formatında yapılmaz.
A 129 81 HOP Yüksek Sekizli Ön Ayarı Dahil değildir ISO / IEC 6429 (ECMA-48). ISO 10646'nın ilk taslaklarında , aynı birinci bayta sahip ISO 2022 uyumlu çoklu bayt karakterlerinin bir dizisini, adı geçen ilk baytı tekrar etmeden, böylece uzunluğu azaltmanın bir yolu olarak düşünülmüştü ; bu davranış hiçbir zaman standart veya yayınlanmış bir uygulamanın parçası olmadı. Adı yine de bir RFC  1345 standart kod noktası adı olarak kaldı.
B 130 82 BPH Burada İzin Verilen Ara Satır kesmeye izin verilen bir grafik karakterini takip eder. Bir satır sonunu belirtmenin bir kısa çizgi olması gerekmemesi dışında, kabaca yumuşak bir kısa çizgiye eşdeğerdir . ISO/IEC 6429'un ilk baskısının parçası değildir. Ayrıca bkz . sıfır genişlikli boşluk .
C 131 83 NBH Burada Mola Yok Kırılmaması gereken grafik karakterini takip eder. ISO/IEC 6429'un ilk baskısının parçası değildir . Ayrıca bkz . word birleştirici .
NS 132 84 IND dizin LF'nin anlamı hakkındaki belirsizliği ortadan kaldırmak için aktif konumu bir satır aşağı taşıyın. 1988'de kullanımdan kaldırıldı ve 1992'de ISO/IEC 6429'dan çekildi (sırasıyla ECMA-48 için 1986 ve 1991).
E 133 85 NEL Sonraki satır CR+LF'ye eşdeğerdir. Bazı IBM ana bilgisayarlarında satır sonunu işaretlemek için kullanılır.
F 134 86 SSA Seçilen Alanın Başlangıcı Blok yönelimli terminaller tarafından kullanılır .
G 135 87 ESA Seçilen Alanın Sonu
H 136 88 HTŞ Karakter Tablolama Seti
Yatay Tablolama Seti
Aktif konumda bir karakter tablolama durdurmasının ayarlanmasına neden olur.
ben 137 89 HTJ Gerekçeli Karakter Tablolama Gerekçeli
Yatay Tablolama
Bir sonraki sekme durağına ulaşılana kadar önceki karakterlerden sonra yerleştirilen boşluklar veya satırlar yerine, boşluklar veya satırlar aktif alanın önüne yerleştirilir, böylece önceki grafik karakteri bir sonraki sekme durağından hemen önce yerleştirilir.
J 138 8A VTS Çizgi Tablolama Seti
Dikey Tablolama Seti
Aktif konumda bir hat tablolama durdurmasının ayarlanmasına neden olur.
K 139 8B PLD Kısmi Hat İleri
Kısmi Hat Aşağı
ISO/IEC 6429'da , örneğin bir yazıcıda, alt simgeler ve üst simgeler üretmek için kullanılır .
Alt simgeler, üst simgeler kullanılırken kullanılır . PLD text PLUPLU text PLD
L 140 8C PLU Kısmi Hat Geri
Kısmi Hat Yukarı
m 141 8D ri Ters Satır Besleme
Ters İndeks
n 142 8E SS2 Tek Vardiya 2 Sonraki karakter, sırasıyla G2 veya G3 grafik kümelerinden bir grafik karakteri çağırır. ISO/IEC 4873'e (ECMA-43) uygun sistemlerde , varsayılandan farklı bir C1 seti kullanılsa bile, bu iki sekizli sadece bu amaçla kullanılabilir.
Ö 143 8F SS3 Tek Vardiya 3
P 144 90 DCS Cihaz Kontrol Dizisi Ardından, ST (0x9C) ile sonlandırılan bir dizi yazdırılabilir karakter (0x20 ila 0x7E) ve format efektörleri (0x08 ila 0x0D) gelir. Bu, metin terminalleri için değişken uzunluklu kontrol dizileri ve terminfo sorguları gibi terminal öykünücüleri tarafından kullanılabilir  .
Q 145 91 PU1 Özel Kullanım 1 Veriyi gönderen ve alıcının önceden anlaşmasına bağlı olarak, gerektiğinde özel kullanım için standartlaştırılmış anlamı olmayan bir işlev için ayrılmıştır.
r 146 92 PU2 Özel Kullanım 2
S 147 93 KH İletim Durumunu Ayarla
T 148 94 CCH Karakteri iptal et Yıkıcı geri boşluk, BS'nin anlamı hakkındaki belirsizliği ortadan kaldırmaya yöneliktir .
sen 149 95 MW Mesaj Bekleniyor
V 150 96 SPA Korunan Alanın Başlangıcı Blok yönelimli terminaller tarafından kullanılır .
W 151 97 EPA Korunan Alanın Sonu
x 152 98 s.o.s. Dizinin Başlangıcı DCS , OSC , PM veya APC tarafından başlatılanların aksine, ST (0x9C) ile sonlandırılan bir kontrol dizisi tarafından takip edilir ve SOS veya ST dışında herhangi bir karakter içerebilir. ISO/IEC 6429'un ilk baskısının parçası değildir.

MARC 21 , harmanlama amacıyla göz ardı edilmesi gereken bir diziyi işaretlemek için Unicode biçimli kayıtlarda SOS ve ST'yi kullanırken, MARC-8 biçimindeki kayıtlar aynı amaç için NSB ve NSE'yi kullanır .

Y 153 99 SGK Tek Grafik Karakter Tanıtıcı ISO/IEC 6429'un parçası değildir. ISO 10646'nın ilk taslaklarında, bir HOP modundan çıkmadan tek bir çok baytlı karakteri kodlamak için kullanılıyordu . Daha sonraki taslaklarda, bu tesis kaldırıldı, ancak ad yine de bir RFC  1345 standart kod noktası adı olarak kaldı.
Z 154 9A SCI Tek Karakter Tanıtımı Ardından tek bir yazdırılabilir karakter (0x20 - 0x7E) veya biçim efektörü (0x08 - 0x0D) gelecek. Amaç, hangi grafik veya kontrol setlerinin kullanımda olduğuna bakılmaksızın kullanılabilecek bir kontrol fonksiyonunun veya grafik karakterinin tanımlanabileceği bir araç sağlamaktı. Aşağıdaki baytın ne çağıracağına ilişkin tanımlar hiçbir zaman uluslararası bir standartta uygulanmadı. ISO/IEC 6429'un ilk baskısının parçası değildir.
[ 155 9B CSI Kontrol Sırası Tanıtıcı Parametre alan kontrol dizilerini tanıtmak için kullanılır.
\ 156 9C NS Dize Sonlandırıcı DCS , SOS , OSC , PM veya APC tarafından başlatılan değişken uzunluklu bir kontrol dizesini sonlandırır .
] 157 9D OSC İşletim Sistemi Komutu Ardından, ST (0x9C) ile sonlandırılan bir dizi yazdırılabilir karakter (0x20 ila 0x7E) ve format efektörleri (0x08 ila 0x0D) gelir. Bu üç kontrol kodunun, protokol bilgilerinin bant içi sinyallemesine izin vermek için kullanılması amaçlanmıştır, ancak bu amaç için nadiren kullanılır.

xterm dahil olmak üzere bazı terminal öykünücüleri , pencere başlığını ayarlamak ve mevcut renk paletini yeniden yapılandırmak için OSC dizilerini destekler. Standart ST'ye standart olmayan bir alternatif olarak BEL ile bir OSC dizisinin sonlandırılmasını da destekleyebilirler .

APC bazen Kermit komutlarını iletmek için kullanılır , ancak bu güvenlik nedeniyle devre dışı bırakılabilir veya filtrelenebilir.

^ 158 9E ÖĞLEDEN SONRA Gizlilik Mesajı
_ 159 9F APC Uygulama Programı Komutu

Bibliyografik kullanım için C1 kontrol kodları

Kütüphane sistemleri gibi bibliyografik uygulamalar için aşağıdaki alternatif C1 kontrol kodu seti tanımlanmıştır . Çoğunlukla dize harmanlama ve bibliyografik alanların işaretlenmesi ile ilgilidir. Alman standardı DIN 31626'da (1978'de yayınlanmıştır ve geri çekilmiştir) ve sonuncusu Almanya'da DIN ISO 6630 olarak kabul edilen ISO standardı ISO 6630'da biraz farklı varyantlar tanımlanmıştır . Bunların farklılık gösterdiği durumlar, uygun olduğunda aşağıdaki tabloda belirtilmiştir. MARC-8 , bu setteki NSB ve NSE kodlamasını kullanır ve ISO versiyonu tarafından kullanılmayan konumlara bazı ek format efektörleri ekler; ancak MARC 21, bu kontrol setini Unicode formatındaki kayıtlarda değil, yalnızca MARC-8 kayıtlarında kullanır.

Kullanılıyorsa , ISO / IEC 2022 uzatma mekanizmasını, DİN 31626 grubu dizisi ile aktif C1 kontrol karakter kümesi olarak belirlenmiş 0x1B 0x22 0x45( ESC " E), ve ISO 6630 / DİN ISO 6630 resim dizisi ile belirlenmiştir 0x1B 0x22 0x42( ESC " B). ISO 6630 setinin 1985 genişletmesi de 0x1B 0x26 0x40 0x1B 0x22 0x42( ESC & @ ESC " B) dizisi kullanılarak açıkça belirtilebilir .

Esc+ Aralık altıgen Akro İsim Açıklama
@…F 128…134 80…86 - (rezerve)
G 135 87 CUS Sıralama için Yakın Çekim (DIN 31626, ISO 6630) Bir boşluk veya ayırıcı ile ayrılmış iki ardışık karakter dizisinin harmanlama amacıyla tek kelime olarak ele alınması gerektiğini bildirir.
H 136 88 NSB Sıralamayan Karakterler Başlıyor (DIN 31626, ISO 6630, MARC 21) Harmanlama amacıyla yok sayılacak bir karakter dizisinin başlangıcını işaretler. MARC 21 , bu karakteri MARC-8 kayıtlarında kullanır, ancak aynı amaç için Unicode kayıtlarında 0x98 ( SOS ) kullanır .
ben 137 89 NSE Sıralamayan Karakterler Sonu (DIN 31626, ISO 6630, MARC 21) Harmanlama amacıyla yok sayılacak bir karakter dizisinin sonunu işaretler. MARC 21, bu karakteri MARC-8 kayıtlarında kullanır, ancak aynı amaç için Unicode kayıtlarında 0x9C ( ST ) kullanır .
J 138 8A FIL Dolgu Karakteri (DIN 31626) Bir alandaki zorunlu alfasayısal karakterin yerine geçer.
K 139 8B TCI Bağlam Göstergesinde Etiket (DIN 31626) Bir bibliyografik alan içinde, etiket numarası ile başka bir bibliyografik alandaki verilere atıfta bulunmak için kullanılır.
PLD Kısmi Hat Aşağı (ISO 6630) Değil Kısmi Hat Down için kullanılan ISO 6630 1985 baskısında ISO 6630 orjinal baskısında, (bkz içinde PLD üstünde).
L 140 8C ICI Bağlam Göstergesindeki Kimlik Numarası (DIN 31626) Bir bibliyografik alan içinde, kimlik numarasıyla başka bir bibliyografik kayıttaki verilere atıfta bulunmak için kullanılır.
PLU Kısmi Sıralama (ISO 6630) Değil Kısmi Up Hattı için kullanılan ISO 6630 1985 baskısında ISO 6630 orjinal baskısında, (bkz içinde PLU üstünde).
m 141 8D OSC İsteğe Bağlı Heceleme Kontrolü (DIN 31626) Uzun bir sözcükte hece sınırını işaretler. Ayrıca bkz . yumuşak kısa çizgi .
ZWJ Marangoz (MARC 21) MARC-8'de Zero-Width Joiner için , U+200D ise Unicode formatındaki MARC kayıtlarında kullanılır.
n 142 8E SS2 Tek Vardiya 2 (DİN 31626) vites değiştirme kod Sigara kilitleme bkz SS2 üzerindedir.
ZWNJ Marangoz olmayan (MARC 21) MARC-8'de Zero-Width Non-Joiner için kullanılırken, U+200C Unicode formatındaki MARC kayıtlarında kullanılır.
Ö 143 8F SS3 Tek Vardiya 3 (DİN 31626) vites değiştirme kod Sigara kilitleme bkz SS3 üzerindedir.
P 144 90 - (rezerve)
Q 145 91 EAB Gömülü Açıklama Başlangıcı (DIN 31626, ISO 6630) İçerik ataması kullanılarak ayrılmanın aksine, bir bibliyografik alana gömülü olan değişken uzunluklu bir açıklamanın başlangıcını işaretler.
r 146 92 EAE Gömülü Açıklama Sonu (DIN 31626, ISO 6630) Değişken uzunlukta gömülü bir açıklamanın sonunu işaretler.
S 147 93 ISB Öğe Spesifikasyonu Başlangıç (DIN 31626) Bir anahtar sözcük veya bir permütasyon dizesi dışında, bazı açıklamaların belirli bir bilgi dizisinin başlangıcını işaretler.
T 148 94 İMKB Ürün Spesifikasyonu Sonu (DIN 31626) Belirli bir bilgi dizisinin sonunu işaretler.
sen 149 95 SIB Enterpolasyon Başlangıcını Sıralama (ISO 6630) Yalnızca harmanlama amacıyla kullanılan bir karakter dizisinin başlangıcını işaretler.
V 150 96 SIE Enterpolasyon Sonunu Sıralama (ISO 6630) Yalnızca harmanlama amacıyla kullanılan bir karakter dizisinin sonunu işaretler.
W 151 97 SSB İkincil Sıralama Değeri Başlangıcı (ISO 6630) Alt sıralı harmanlama değerine sahip bir dizenin başlangıcını işaretler.
x 152 98 SSE İkincil Sıralama Değeri Sonu (ISO 6630) Alt sıralı harmanlama değerine sahip bir dizenin sonunu işaretler.
Y 153 99 INC Standart Olmayan Karakter Göstergesi (DIN 31626) Aşağıdaki standart olmayan bir karakteri tanımlar.
Z 154 9A - (rezerve)
[ 155 9B - (rezerve)
\ 156 9C KWB Anahtar Kelime Başlangıcı (DIN 31626, ISO 6630) Bir bibliyografik alan içinde bir anahtar kelimenin başlangıcını işaretler.
] 157 9D KWE Anahtar Kelime Sonu (DIN 31626, ISO 6630) Bir bibliyografik alan içinde bir anahtar kelimenin sonunu işaretler.
^ 158 9E PSB Permütasyon Dizisi Başlangıcı (DIN 31626, ISO 6630) Referanslar veya indeksler oluşturulduğunda elemanın önüne izin verilecek bir dizenin başlangıcını işaretler . PSE tarafından veya öğenin sonunda sonlandırılır.
_ 159 9F PSE Permütasyon Dizisi Sonu (DIN 31626, ISO 6630) Elemanın önüne izin verilecek bir dizinin sonunu işaretler.

Diğer C1 kontrol kodu setleri

EBCDIC , ASCII'de bulunanların yanı sıra 16 ek kontrol kodu tanımlar. Eşleştirilmiş zaman Unicode veya ISO 8859 , bu kodlar IBM'in Karakter Veri Temsil Mimarisi (CDRA) tarafından belirtilen şekilde C1 kontrol karakterlere eşleştirilir.

New Line (NL) kontrolün varsayılan eşleme ISO / IEC 6429 karşılık geliyor mu rağmen NEL (0x85; onun haritalama bazen UNIX hattı biten kongre sonrasında LF ile takas edilir rağmen), kontrol kodlarının kalan karşılık gelmez ISO/IEC 6429. Örneğin, EBCDIC kontrol SPS (0x09, 0x8D ile eşlenmiştir) ve ECMA-48 kontrol PLU (0x8C) bir üst simgeyi başlatmak veya bir alt simgeyi sonlandırmak için kullanılır, ancak birbiriyle eşlenmez. Genişletilmiş ASCII haritalı EBCDIC, bu nedenle , ISO/IEC 2022 ile kullanım için ISO-IR siciline kayıtlı olmamasına rağmen, kendi C1 setine sahip olarak kabul edilebilir .

Çeşitli Videotex formatları tarafından kullanılmak üzere çeşitli özel C1 kontrol kodu setleri kaydedilir .

tek kod

Unicode , ISO/IEC 2022 ile uyumluluk için genel "Cc" (Kontrol) kategorisinde 65 kod noktası ayırır . Bu kategorideki kontrol kodları U+0000—U+001F (C0 kontrolleri), U+007F (sil) ve U+0080—U+009F (C1 kontrolleri) kapsar. Unicode yalnızca U+0009—U+000D, U+001C—U+001F ve U+0085 için semantiği belirtir. Kontrol kodlarının geri kalanı Unicode'a şeffaftır ve anlamları daha yüksek seviyeli protokollere bırakılmıştır.

Unicode'un, C0 ve C1 olanlar dışında tahsis edilmiş hiçbir kategori "Cc" kod noktası yoktur. Bununla birlikte, açık çift yönlü biçimlendirme için işaretler, gömmeler, ayırmalar ve açılırlar gibi C0 ve C1 kontrol kümelerindekilerin yanı sıra ek biçim efektör karakterleri ve bağ kullanımını kontrol etmek için sıfır genişlikli birleştirici ve birleştirici olmayan içerir . Bunlara "Cc" yerine "Cf" (Format) genel kategorisi verilir.

Ayrıca bakınız

Dipnotlar

Referanslar