1. Home
  2. Docs
  3. Linux
  4. Terminal
  5. ANSI Renk Kodları

ANSI Renk Kodları

Print

Bazen Linux üzerinde yazdığımız kodları test ederken, terminale log yazdırırken veya sadece terminal üzerinde çalışan bir app yazdığımızda ekrana bazı çıktılar vermek zorunda kalabiliriz. Bu çıktıları verirken genelde 2 renkten oluşan terminal ekranı epey karışık ve anlaması zor hale gelebilir. Bu sorunu çözebilmek için ANSI renk kodlarını kullanabilir, terminal ekranımızı renklendirebilir ve başka değişiklikler yapabiliriz.

Bu özelliği desteklemeyen terminaller veya işletim sistemlerinde yazmış olduğumuz renk kodları ekranda çöp olarak gözükebilir.

Bu renk kodlarını C++ üzerinde şu şekilde deneyebiliriz.

#include <cstdint>
#include <iostream>

int main(int argc, const char **argv) {
  std::cout << "Bold- Bckgrnd- Bright- Underline\n";

  for (std::uint8_t i = 30; i < 38; i++) {
    std::cout << "\033[1;" << unsigned(i) << "mtext\033[0m\t";
    std::cout << "\033[1;" << unsigned(i + 10) << "m\033[1;37mtext\033[0m\t";
    std::cout << "\033[0;" << unsigned(i) << "mtext\033[0m\t";
    std::cout << "\033[4;" << unsigned(i) << "mtext\033[0m\n";
  }
  return 0;
}

Terminal üzerinde çalıştırdığımızda şu şekilde bir çıktı alırız.

Kodu açıklamak gerekirse,

std::cout << “\033[1;31mtext\033[0m\t”;

\033 -> ESC karekteri,

[1; -> Yazının bold olacağı anlamına gelir.

31 -> Yazının kırmızı rengi alacağını bildirir.

\033[0 -> ESC karekteri ve reset kodu.


Konuyla alakalı bazı düzenlemeleri ve bu düzenlemelerin kodlarını aşağıdaki tablodan görebilirsiniz.

RenkÖn plan koduArka plan kodu
Siyah3040
Kırmızı3141
Yeşil3242
Sarı3343
Mavi3444
Beyaz3747

Ayrıca şu kodları da kullanabilirsiniz.

Reset0
Kalın/ince1
Alt çizgi4
Tersine çevirmek7

Daha detaylı bilgi almak için wikipedia sayfasını inceleyebilirsiniz.

Tags , , , ,