Eski VT100/ANSI çıkış kodları, konsol uygulamalarında 24 bit renkli, kalın, altı çizili, üstü çizili ve yanıp sönen dahil olmak üzere çeşitli biçimlendirmeleri etkinleştirmek için hâlâ kullanılabilir. VT100/ANSI kodları kaçış karakteriyle tanıtılır (ASCII karakter 27, onaltılık: 0x1b).
Duyuru
Dr. Holger Schwichtenberg, 53 tanınmış uzmanıyla danışmanlık, eğitim ve yazılım geliştirme yoluyla çok sayıda orta ve büyük ölçekli şirketi destekleyen www.IT-Visions.de uzman ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası konferansa katılımı, 90'dan fazla uzmanlık kitabı ve 1.500'den fazla uzmanlık makalesi sayesinde Holger Schwichtenberg, .NET ve web teknolojileri konusunda Almanya'nın en tanınmış uzmanlarından biridir.
C# 13.0'dan önce, .NET konsol uygulamalarında ASCII karakter 27'den kaçmak mümkündü Console.WriteLine() sadece garip bir şekilde ifade et u001b, U0000001b VEYA x1bikincisi önerilmese de: “x kaçış dizisini kullanırsanız, dörtten az onaltılık basamak belirtin ve kaçış dizisini hemen takip eden karakterler geçerli onaltılık basamaklardır (örneğin 0-9, AF ve a–f), bunlar kaçış dizisinin bir parçası olarak yorumlanır. Örneğin, xA1 “¡” üretir (U+00A1 kod noktasının “A” veya “a” olmasına karşılık gelir, bunun yerine kaçış dizisi kullanılır). xA1A olarak yorumlanır ve “ਚ” kod noktası üretilir (U+0A1A kod noktasına eşdeğerdir). ਚ, Pakistan ve Hindistan'da konuşulan bir dildir. Bu durumlarda tümünü belirterek yanlış yorumlamaları önlemek mümkündür. dört onaltılık basamak (örneğin x00A1).”
Tipik olarak, C# 13.0'dan önce VT100/ANSI çıkışlı çıktı şu şekilde görünüyordu:
Console.WriteLine("This is a regular text");
Console.WriteLine("u001b[1mThis is a bold textu001b[0m");
Console.WriteLine("u001b[2mThis is a dimmed textu001b[0m");
Console.WriteLine("u001b[3mThis is an italic textu001b[0m");
Console.WriteLine("u001b[4mThis is an underlined textu001b[0m");
Console.WriteLine("u001b[5mThis is a blinking textu001b[0m");
Console.WriteLine("u001b[6mThis is a fast blinking textu001b[0m");
Console.WriteLine("u001b[7mThis is an inverted textu001b[0m");
Console.WriteLine("u001b[8mThis is a hidden textu001b[0m");
Console.WriteLine("u001b[9mThis is a crossed-out textu001b[0m");
Console.WriteLine("u001b[21mThis is a double-underlined textu001b[0m");
Console.WriteLine("u001b[38;2;255;0;0mThis is a red textu001b[0m");
Console.WriteLine("u001b[48;2;255;0;0mThis is a red backgroundu001b[0m");
Console.WriteLine("u001b[38;2;0;0;255;48;2;255;255;0mThis is a blue text with a yellow backgroundu001b[0m");
C# 13.0'dan beri artık var e ASCII kaçış karakteri 27'nin kısaltılmış biçimi olarak, böylece karakter dizeleri çok daha kompakt ve net hale gelir:
Console.WriteLine("This is a regular text");
Console.WriteLine("e[1mThis is a bold texte[0m");
Console.WriteLine("e[2mThis is a dimmed texte[0m");
Console.WriteLine("e[3mThis is an italic texte[0m");
Console.WriteLine("e[4mThis is an underlined texte[0m");
Console.WriteLine("e[5mThis is a blinking texte[0m");
Console.WriteLine("e[6mThis is a fast blinking texte[0m");
Console.WriteLine("e[7mThis is an inverted texte[0m");
Console.WriteLine("e[8mThis is a hidden texte[0m");
Console.WriteLine("e[9mThis is a crossed-out texte[0m");
Console.WriteLine("e[21mThis is a double-underlined texte[0m");
Console.WriteLine("e[38;2;255;0;0mThis is a red texte[0m");
Console.WriteLine("e[48;2;255;0;0mThis is a red backgrounde[0m");
Console.WriteLine("e[38;2;0;0;255;48;2;255;255;0mThis is a blue text with a yellow backgrounde[0m");
Önceki iki listenin çıktısı aynı görünüyor.
(Resim: ekran görüntüsü (Holger Schwichtenberg))
(Ben)
Duyuru
Dr. Holger Schwichtenberg, 53 tanınmış uzmanıyla danışmanlık, eğitim ve yazılım geliştirme yoluyla çok sayıda orta ve büyük ölçekli şirketi destekleyen www.IT-Visions.de uzman ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası konferansa katılımı, 90'dan fazla uzmanlık kitabı ve 1.500'den fazla uzmanlık makalesi sayesinde Holger Schwichtenberg, .NET ve web teknolojileri konusunda Almanya'nın en tanınmış uzmanlarından biridir.
C# 13.0'dan önce, .NET konsol uygulamalarında ASCII karakter 27'den kaçmak mümkündü Console.WriteLine() sadece garip bir şekilde ifade et u001b, U0000001b VEYA x1bikincisi önerilmese de: “x kaçış dizisini kullanırsanız, dörtten az onaltılık basamak belirtin ve kaçış dizisini hemen takip eden karakterler geçerli onaltılık basamaklardır (örneğin 0-9, AF ve a–f), bunlar kaçış dizisinin bir parçası olarak yorumlanır. Örneğin, xA1 “¡” üretir (U+00A1 kod noktasının “A” veya “a” olmasına karşılık gelir, bunun yerine kaçış dizisi kullanılır). xA1A olarak yorumlanır ve “ਚ” kod noktası üretilir (U+0A1A kod noktasına eşdeğerdir). ਚ, Pakistan ve Hindistan'da konuşulan bir dildir. Bu durumlarda tümünü belirterek yanlış yorumlamaları önlemek mümkündür. dört onaltılık basamak (örneğin x00A1).”
Tipik olarak, C# 13.0'dan önce VT100/ANSI çıkışlı çıktı şu şekilde görünüyordu:
Console.WriteLine("This is a regular text");
Console.WriteLine("u001b[1mThis is a bold textu001b[0m");
Console.WriteLine("u001b[2mThis is a dimmed textu001b[0m");
Console.WriteLine("u001b[3mThis is an italic textu001b[0m");
Console.WriteLine("u001b[4mThis is an underlined textu001b[0m");
Console.WriteLine("u001b[5mThis is a blinking textu001b[0m");
Console.WriteLine("u001b[6mThis is a fast blinking textu001b[0m");
Console.WriteLine("u001b[7mThis is an inverted textu001b[0m");
Console.WriteLine("u001b[8mThis is a hidden textu001b[0m");
Console.WriteLine("u001b[9mThis is a crossed-out textu001b[0m");
Console.WriteLine("u001b[21mThis is a double-underlined textu001b[0m");
Console.WriteLine("u001b[38;2;255;0;0mThis is a red textu001b[0m");
Console.WriteLine("u001b[48;2;255;0;0mThis is a red backgroundu001b[0m");
Console.WriteLine("u001b[38;2;0;0;255;48;2;255;255;0mThis is a blue text with a yellow backgroundu001b[0m");
C# 13.0'dan beri artık var e ASCII kaçış karakteri 27'nin kısaltılmış biçimi olarak, böylece karakter dizeleri çok daha kompakt ve net hale gelir:
Console.WriteLine("This is a regular text");
Console.WriteLine("e[1mThis is a bold texte[0m");
Console.WriteLine("e[2mThis is a dimmed texte[0m");
Console.WriteLine("e[3mThis is an italic texte[0m");
Console.WriteLine("e[4mThis is an underlined texte[0m");
Console.WriteLine("e[5mThis is a blinking texte[0m");
Console.WriteLine("e[6mThis is a fast blinking texte[0m");
Console.WriteLine("e[7mThis is an inverted texte[0m");
Console.WriteLine("e[8mThis is a hidden texte[0m");
Console.WriteLine("e[9mThis is a crossed-out texte[0m");
Console.WriteLine("e[21mThis is a double-underlined texte[0m");
Console.WriteLine("e[38;2;255;0;0mThis is a red texte[0m");
Console.WriteLine("e[48;2;255;0;0mThis is a red backgrounde[0m");
Console.WriteLine("e[38;2;0;0;255;48;2;255;255;0mThis is a blue text with a yellow backgrounde[0m");
Önceki iki listenin çıktısı aynı görünüyor.
(Resim: ekran görüntüsü (Holger Schwichtenberg))
(Ben)