Bagaimana cara mencetak warna di konsol menggunakan System.out.println?

326

Bagaimana saya bisa mencetak warna di konsol? Saya ingin menampilkan data dalam warna saat prosesor mengirim data dan warna berbeda saat menerima data.

Taranath Datta
sumber
2
Jika konsol mendukung (misalnya konsol Java Eclipse) menyesuaikan warna stdout / stderr, maka Anda dapat menggunakan System.out.println untuk satu warna dan System.err.println untuk warna lain.
jw_

Jawaban:

585

Jika terminal Anda mendukungnya, Anda dapat menggunakan kode pelarian ANSI untuk menggunakan warna pada output Anda. Ini umumnya bekerja untuk prompt shell Unix; Namun, itu tidak bekerja untuk Windows Command Prompt (Meskipun, itu berfungsi untuk Cygwin). Misalnya, Anda bisa mendefinisikan konstanta seperti ini untuk warna:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_BLACK = "\u001B[30m";
public static final String ANSI_RED = "\u001B[31m";
public static final String ANSI_GREEN = "\u001B[32m";
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_BLUE = "\u001B[34m";
public static final String ANSI_PURPLE = "\u001B[35m";
public static final String ANSI_CYAN = "\u001B[36m";
public static final String ANSI_WHITE = "\u001B[37m";

Kemudian, Anda bisa merujuk yang diperlukan.

Misalnya, menggunakan konstanta di atas, Anda dapat membuat output teks merah berikut pada terminal yang didukung:

System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);

Pembaruan: Anda mungkin ingin memeriksa perpustakaan Jansi . Ini menyediakan API dan memiliki dukungan untuk Windows menggunakan JNI. Saya belum mencobanya; Namun, itu terlihat menjanjikan.

Pembaruan 2: Juga, jika Anda ingin mengubah warna latar belakang teks ke warna yang berbeda, Anda dapat mencoba yang berikut ini juga:

public static final String ANSI_BLACK_BACKGROUND = "\u001B[40m";
public static final String ANSI_RED_BACKGROUND = "\u001B[41m";
public static final String ANSI_GREEN_BACKGROUND = "\u001B[42m";
public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m";
public static final String ANSI_BLUE_BACKGROUND = "\u001B[44m";
public static final String ANSI_PURPLE_BACKGROUND = "\u001B[45m";
public static final String ANSI_CYAN_BACKGROUND = "\u001B[46m";
public static final String ANSI_WHITE_BACKGROUND = "\u001B[47m";

Misalnya:

System.out.println(ANSI_GREEN_BACKGROUND + "This text has a green background but default text!" + ANSI_RESET);
System.out.println(ANSI_RED + "This text has red text but a default background!" + ANSI_RESET);
System.out.println(ANSI_GREEN_BACKGROUND + ANSI_RED + "This text has a green background and red text!" + ANSI_RESET);
WhiteFang34
sumber
1
@ WhiteFang34 Bisakah Anda jelaskan apa gunanya RESET jika warnanya HITAM, setidaknya di konsol saya? Apakah ini seperti default atau sth.?
Boro
8
@Boro: kode reset mematikan semua atribut ANSI yang ditetapkan sejauh ini, yang seharusnya mengembalikan konsol ke pengaturan default. Ini berguna jika Anda tidak tahu warna default atau juga menggunakan beberapa atribut lain seperti warna latar belakang, gaya font, dll.
WhiteFang34
2
jansi benar-benar hebat! bagi mereka yang berkembang di eclipse, saya dapat merekomendasikan plugin ini: mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console dan sepotong kode yang bagus untuk mengaktifkan warna jika kode tidak dieksekusi di konsol:if (System.console() == null) System.setProperty("jansi.passthrough", "true");
Danny Lo
1
@PankajNimgade, baca jawabannya lagi dan Anda mungkin akan memperhatikan ini:however it doesn't work for Windows command prompt
Felix Edelmann
1
@DannyLo Terima kasih banyak atas tautannya ke plugin Eclipse!
Noah Broyles
72

Berikut adalah daftar warna dalam kelas Java dengan public staticbidang

Pemakaian

System.out.println(ConsoleColors.RED + "RED COLORED" +
ConsoleColors.RESET + " NORMAL");


Catatan Jangan lupa untuk menggunakan RESETsetelah pencetakan karena efeknya akan tetap jika tidak dihapus


public class ConsoleColors {
    // Reset
    public static final String RESET = "\033[0m";  // Text Reset

    // Regular Colors
    public static final String BLACK = "\033[0;30m";   // BLACK
    public static final String RED = "\033[0;31m";     // RED
    public static final String GREEN = "\033[0;32m";   // GREEN
    public static final String YELLOW = "\033[0;33m";  // YELLOW
    public static final String BLUE = "\033[0;34m";    // BLUE
    public static final String PURPLE = "\033[0;35m";  // PURPLE
    public static final String CYAN = "\033[0;36m";    // CYAN
    public static final String WHITE = "\033[0;37m";   // WHITE

    // Bold
    public static final String BLACK_BOLD = "\033[1;30m";  // BLACK
    public static final String RED_BOLD = "\033[1;31m";    // RED
    public static final String GREEN_BOLD = "\033[1;32m";  // GREEN
    public static final String YELLOW_BOLD = "\033[1;33m"; // YELLOW
    public static final String BLUE_BOLD = "\033[1;34m";   // BLUE
    public static final String PURPLE_BOLD = "\033[1;35m"; // PURPLE
    public static final String CYAN_BOLD = "\033[1;36m";   // CYAN
    public static final String WHITE_BOLD = "\033[1;37m";  // WHITE

    // Underline
    public static final String BLACK_UNDERLINED = "\033[4;30m";  // BLACK
    public static final String RED_UNDERLINED = "\033[4;31m";    // RED
    public static final String GREEN_UNDERLINED = "\033[4;32m";  // GREEN
    public static final String YELLOW_UNDERLINED = "\033[4;33m"; // YELLOW
    public static final String BLUE_UNDERLINED = "\033[4;34m";   // BLUE
    public static final String PURPLE_UNDERLINED = "\033[4;35m"; // PURPLE
    public static final String CYAN_UNDERLINED = "\033[4;36m";   // CYAN
    public static final String WHITE_UNDERLINED = "\033[4;37m";  // WHITE

    // Background
    public static final String BLACK_BACKGROUND = "\033[40m";  // BLACK
    public static final String RED_BACKGROUND = "\033[41m";    // RED
    public static final String GREEN_BACKGROUND = "\033[42m";  // GREEN
    public static final String YELLOW_BACKGROUND = "\033[43m"; // YELLOW
    public static final String BLUE_BACKGROUND = "\033[44m";   // BLUE
    public static final String PURPLE_BACKGROUND = "\033[45m"; // PURPLE
    public static final String CYAN_BACKGROUND = "\033[46m";   // CYAN
    public static final String WHITE_BACKGROUND = "\033[47m";  // WHITE

    // High Intensity
    public static final String BLACK_BRIGHT = "\033[0;90m";  // BLACK
    public static final String RED_BRIGHT = "\033[0;91m";    // RED
    public static final String GREEN_BRIGHT = "\033[0;92m";  // GREEN
    public static final String YELLOW_BRIGHT = "\033[0;93m"; // YELLOW
    public static final String BLUE_BRIGHT = "\033[0;94m";   // BLUE
    public static final String PURPLE_BRIGHT = "\033[0;95m"; // PURPLE
    public static final String CYAN_BRIGHT = "\033[0;96m";   // CYAN
    public static final String WHITE_BRIGHT = "\033[0;97m";  // WHITE

    // Bold High Intensity
    public static final String BLACK_BOLD_BRIGHT = "\033[1;90m"; // BLACK
    public static final String RED_BOLD_BRIGHT = "\033[1;91m";   // RED
    public static final String GREEN_BOLD_BRIGHT = "\033[1;92m"; // GREEN
    public static final String YELLOW_BOLD_BRIGHT = "\033[1;93m";// YELLOW
    public static final String BLUE_BOLD_BRIGHT = "\033[1;94m";  // BLUE
    public static final String PURPLE_BOLD_BRIGHT = "\033[1;95m";// PURPLE
    public static final String CYAN_BOLD_BRIGHT = "\033[1;96m";  // CYAN
    public static final String WHITE_BOLD_BRIGHT = "\033[1;97m"; // WHITE

    // High Intensity backgrounds
    public static final String BLACK_BACKGROUND_BRIGHT = "\033[0;100m";// BLACK
    public static final String RED_BACKGROUND_BRIGHT = "\033[0;101m";// RED
    public static final String GREEN_BACKGROUND_BRIGHT = "\033[0;102m";// GREEN
    public static final String YELLOW_BACKGROUND_BRIGHT = "\033[0;103m";// YELLOW
    public static final String BLUE_BACKGROUND_BRIGHT = "\033[0;104m";// BLUE
    public static final String PURPLE_BACKGROUND_BRIGHT = "\033[0;105m"; // PURPLE
    public static final String CYAN_BACKGROUND_BRIGHT = "\033[0;106m";  // CYAN
    public static final String WHITE_BACKGROUND_BRIGHT = "\033[0;107m";   // WHITE
}
shakram02
sumber
55

Saya membuat perpustakaan yang disebut JCDP ( Java Colored Debug Printer ).

Untuk Linux, macOS, dan Windows 10, ia menggunakan kode pelarian ANSI yang WhiteFang sebutkan, tetapi mengabstraksi mereka menggunakan kata - kata alih-alih kode yang jauh lebih intuitif. Menjadi semudah:

print("Hello World!", Attribute.BOLD, FColor.YELLOW, BColor.GREEN);

Anda memiliki beberapa contoh di repositori github JCDP .

dialex
sumber
33

Coba enum berikut:

enum Color {
    //Color end string, color reset
    RESET("\033[0m"),

    // Regular Colors. Normal color, no bold, background color etc.
    BLACK("\033[0;30m"),    // BLACK
    RED("\033[0;31m"),      // RED
    GREEN("\033[0;32m"),    // GREEN
    YELLOW("\033[0;33m"),   // YELLOW
    BLUE("\033[0;34m"),     // BLUE
    MAGENTA("\033[0;35m"),  // MAGENTA
    CYAN("\033[0;36m"),     // CYAN
    WHITE("\033[0;37m"),    // WHITE

    // Bold
    BLACK_BOLD("\033[1;30m"),   // BLACK
    RED_BOLD("\033[1;31m"),     // RED
    GREEN_BOLD("\033[1;32m"),   // GREEN
    YELLOW_BOLD("\033[1;33m"),  // YELLOW
    BLUE_BOLD("\033[1;34m"),    // BLUE
    MAGENTA_BOLD("\033[1;35m"), // MAGENTA
    CYAN_BOLD("\033[1;36m"),    // CYAN
    WHITE_BOLD("\033[1;37m"),   // WHITE

    // Underline
    BLACK_UNDERLINED("\033[4;30m"),     // BLACK
    RED_UNDERLINED("\033[4;31m"),       // RED
    GREEN_UNDERLINED("\033[4;32m"),     // GREEN
    YELLOW_UNDERLINED("\033[4;33m"),    // YELLOW
    BLUE_UNDERLINED("\033[4;34m"),      // BLUE
    MAGENTA_UNDERLINED("\033[4;35m"),   // MAGENTA
    CYAN_UNDERLINED("\033[4;36m"),      // CYAN
    WHITE_UNDERLINED("\033[4;37m"),     // WHITE

    // Background
    BLACK_BACKGROUND("\033[40m"),   // BLACK
    RED_BACKGROUND("\033[41m"),     // RED
    GREEN_BACKGROUND("\033[42m"),   // GREEN
    YELLOW_BACKGROUND("\033[43m"),  // YELLOW
    BLUE_BACKGROUND("\033[44m"),    // BLUE
    MAGENTA_BACKGROUND("\033[45m"), // MAGENTA
    CYAN_BACKGROUND("\033[46m"),    // CYAN
    WHITE_BACKGROUND("\033[47m"),   // WHITE

    // High Intensity
    BLACK_BRIGHT("\033[0;90m"),     // BLACK
    RED_BRIGHT("\033[0;91m"),       // RED
    GREEN_BRIGHT("\033[0;92m"),     // GREEN
    YELLOW_BRIGHT("\033[0;93m"),    // YELLOW
    BLUE_BRIGHT("\033[0;94m"),      // BLUE
    MAGENTA_BRIGHT("\033[0;95m"),   // MAGENTA
    CYAN_BRIGHT("\033[0;96m"),      // CYAN
    WHITE_BRIGHT("\033[0;97m"),     // WHITE

    // Bold High Intensity
    BLACK_BOLD_BRIGHT("\033[1;90m"),    // BLACK
    RED_BOLD_BRIGHT("\033[1;91m"),      // RED
    GREEN_BOLD_BRIGHT("\033[1;92m"),    // GREEN
    YELLOW_BOLD_BRIGHT("\033[1;93m"),   // YELLOW
    BLUE_BOLD_BRIGHT("\033[1;94m"),     // BLUE
    MAGENTA_BOLD_BRIGHT("\033[1;95m"),  // MAGENTA
    CYAN_BOLD_BRIGHT("\033[1;96m"),     // CYAN
    WHITE_BOLD_BRIGHT("\033[1;97m"),    // WHITE

    // High Intensity backgrounds
    BLACK_BACKGROUND_BRIGHT("\033[0;100m"),     // BLACK
    RED_BACKGROUND_BRIGHT("\033[0;101m"),       // RED
    GREEN_BACKGROUND_BRIGHT("\033[0;102m"),     // GREEN
    YELLOW_BACKGROUND_BRIGHT("\033[0;103m"),    // YELLOW
    BLUE_BACKGROUND_BRIGHT("\033[0;104m"),      // BLUE
    MAGENTA_BACKGROUND_BRIGHT("\033[0;105m"),   // MAGENTA
    CYAN_BACKGROUND_BRIGHT("\033[0;106m"),      // CYAN
    WHITE_BACKGROUND_BRIGHT("\033[0;107m");     // WHITE

    private final String code;

    Color(String code) {
        this.code = code;
    }

    @Override
    public String toString() {
        return code;
    }
}

Dan sekarang kita akan membuat contoh kecil:

class RunApp {
    public static void main(String[] args) {

        System.out.print(Color.BLACK_BOLD);
        System.out.println("Black_Bold");
        System.out.print(Color.RESET);

        System.out.print(Color.YELLOW);
        System.out.print(Color.BLUE_BACKGROUND);
        System.out.println("YELLOW & BLUE");
        System.out.print(Color.RESET);

        System.out.print(Color.YELLOW);
        System.out.println("YELLOW");
        System.out.print(Color.RESET);
    }
}
马哥 私房菜
sumber
2
Ini adalah salinan dari jawaban stackoverflow.com/a/45444716/675577
dialex
14

Cara yang cukup portabel untuk melakukannya adalah dengan urutan pelarian yang mentah. Lihat http://en.wikipedia.org/wiki/ANSI_escape_code

[diedit untuk user9999999 pada 2017-02-20]

Java tidak "menangani kode", itu benar, tetapi Java menampilkan apa yang Anda kirim ke output. itu bukan kesalahan Java bahwa konsol Windows memperlakukan ESC (chr (27)) hanya sebagai mesin terbang lain (←).

Anda membuat saya boot ke Windows.  kau berhutang budi padaku, kawan

jcomeau_ictx
sumber
yang tidak berfungsi karena lapisan Java IO tidak mengonversinya menjadi warna. System.out.println ((char) 27 + "[31; 1mERROR" + (char) 27 + "[0m" hanya menghasilkan "[31; 1mERROR [0m" saat dijalankan dari jendela cmd.com sebagai .jar yang dapat dieksekusi .jar
simpleuser
pertanyaan tidak ditandai windows. konsol Windows tidak pernah sesuai dengan ANSI yang saya ingat.
jcomeau_ictx
tetapi masalahnya adalah bahwa java tidak menangani kode, terlepas dari dukungan
cmd.com
3
lihat jawaban yang diedit. Java melakukan persis seperti yang diperintahkan. masalahnya adalah konsol yang tidak sesuai dengan ANSI.
jcomeau_ictx
1
Saya memiliki masalah yang sama
sgrillon
7

Anda bisa melakukan ini menggunakan urutan pelarian ANSI. Saya sebenarnya telah mengumpulkan kelas ini di Jawa untuk siapa saja yang ingin solusi sederhana untuk ini. Ini memungkinkan lebih dari sekedar kode warna.

https://gist.github.com/nathan-fiscaletti/9dc252d30b51df7d710a

(Porting dari: https://github.com/nathan-fiscaletti/ansi-util )

Contoh Penggunaan:

StringBuilder sb = new StringBuilder();

System.out.println(
    sb.raw("Hello, ")
      .underline("John Doe")
      .resetUnderline()
      .raw(". ")
      .raw("This is ")
      .color16(StringBuilder.Color16.FG_RED, "red")
      .raw(".")
);
Nathan F.
sumber
6

Jika ada yang mencari solusi cepat, jangan ragu untuk menggunakan kelas pembantu berikut ini :)

public class Log {

    public static final String ANSI_RESET = "\u001B[0m";
    public static final String ANSI_BLACK = "\u001B[30m";
    public static final String ANSI_RED = "\u001B[31m";
    public static final String ANSI_GREEN = "\u001B[32m";
    public static final String ANSI_YELLOW = "\u001B[33m";
    public static final String ANSI_BLUE = "\u001B[34m";
    public static final String ANSI_PURPLE = "\u001B[35m";
    public static final String ANSI_CYAN = "\u001B[36m";
    public static final String ANSI_WHITE = "\u001B[37m";

    //info
    public static void i(String className, String message) {
        System.out.println(ANSI_GREEN + className + " : " + message + ANSI_RESET);
    }

    //error
    public static void e(String className, String message) {
        System.out.println(ANSI_RED + className + " : " + message + ANSI_RESET);
    }

    //debug
    public static void d(String className, String message) {
        System.out.println(ANSI_BLUE + className + " : " + message + ANSI_RESET);
    }

    //warning
    public static void w(String className, String message) {
        System.out.println(ANSI_YELLOW + className + " : " + message + ANSI_RESET);
    }

}

PEMAKAIAN:

Log.i(TAG,"This is an info message");

Log.e(TAG,"This is an error message");

Log.w(TAG,"This is a warning message");

Log.d(TAG,"This is a debug message");

Terima kasih @ whiteFang34 untuk kode ANSI.

Ajmal Salim
sumber
4

Cara terbaik untuk mewarnai teks konsol adalah dengan menggunakan kode pelarian ANSI . Selain warna teks, kode pelarian ANSI memungkinkan warna latar belakang, dekorasi, dan lainnya.

Unix

Jika Anda menggunakan springboot, ada enum khusus untuk pewarnaan teks: org.springframework.boot.ansi.AnsiColor

Perpustakaan Jansi sedikit lebih maju (dapat menggunakan semua fonctions kode pelarian ANSI), menyediakan API dan memiliki dukungan untuk Windows menggunakan JNA.

Jika tidak, Anda dapat secara manual menentukan warna Anda sendiri, seperti yang ditunjukkan adalah respons lain.

Windows 10

Windows 10 (sejak build 10.0.10586 - nov. 2015) mendukung kode pelarian ANSI ( dokumentasi MSDN ) tetapi tidak diaktifkan secara default. Untuk mengaktifkannya:

  • Dengan SetConsoleMode API , gunakan ENABLE_VIRTUAL_TERMINAL_PROCESSING (0x0400)flag. Jansi menggunakan opsi ini.
  • Jika SetConsoleMode API tidak digunakan, dimungkinkan untuk mengubah kunci registri global HKEY_CURRENT_USER\Console\VirtualTerminalLeveldengan membuat kata kunci dan mengaturnya ke 0 atau 1 untuk pemrosesan ANSI: "VirtualTerminalLevel"=dword:00000001

Sebelum Windows 10

Konsol Windows tidak mendukung warna ANSI. Tetapi dimungkinkan untuk menggunakan konsol yang berfungsi.

NayoR
sumber
1

Menggunakan fungsi warna untuk mencetak teks dengan warna

Kode:

enum Color {

    RED("\033[0;31m"),      // RED
    GREEN("\033[0;32m"),    // GREEN
    YELLOW("\033[0;33m"),   // YELLOW
    BLUE("\033[0;34m"),     // BLUE
    MAGENTA("\033[0;35m"),  // MAGENTA
    CYAN("\033[0;36m"),     // CYAN

    private final String code

    Color(String code) {
        this.code = code;
    }

    @Override
    String toString() {
        return code
    }
}

def color = { color, txt ->
    def RESET_COLOR = "\033[0m"
    return "${color}${txt}${RESET_COLOR}"
}

Pemakaian:


test {
    println color(Color.CYAN, 'testing')
}
Shadi Abu Hilal
sumber
0

Untuk mogok:

public static final String ANSI_STRIKEOUT_BLACK = "\u001B[30;9m";
public static final String ANSI_STRIKEOUT_RED = "\u001B[31;9m";
public static final String ANSI_STRIKEOUT_GREEN = "\u001B[32;9m";
public static final String ANSI_STRIKEOUT_YELLOW = "\u001B[33;9m";
public static final String ANSI_STRIKEOUT_BLUE = "\u001B[34;9m";
public static final String ANSI_STRIKEOUT_PURPLE = "\u001B[35;9m";
public static final String ANSI_STRIKEOUT_CYAN = "\u001B[36;9m";
public static final String ANSI_STRIKEOUT_WHITE = "\u001B[37;9m";
Satish M
sumber
-1

Solusi terbaik untuk mencetak teks apa pun dalam warna merah di Jawa adalah:

System.err.print("Hello World");
iSahil
sumber
"Downvote" bukan milik saya - tetapi, ada jawaban lain yang memberikan pertanyaan OP, dan mereka diposting beberapa waktu lalu. Saat mengirim jawaban, lihat: Bagaimana saya menulis jawaban yang baik? , harap pastikan Anda menambahkan solusi baru, atau penjelasan yang jauh lebih baik, terutama saat menjawab pertanyaan yang lebih lama.
help-info.de
7
@ iSahil ini mungkin diturunkan karena hanya menulis ke kesalahan standar tidak secara eksplisit mewarnai apa pun. Banyak IDE dan konsol akan menafsirkan pesan kesalahan dan mencetaknya dengan warna merah atau serupa, tetapi itu bukan sesuatu yang bisa Anda andalkan.
David
1
Meskipun ini bukan jawaban langsung untuk pertanyaan yang diajukan di atas, ini adalah jawaban yang saya cari ketika mencari "java print in red console". Jadi, saya merasa tempat ini ada di halaman ini.
Maude
-2

Jika Anda menggunakan Kotlin (yang berfungsi mulus dengan Java), Anda dapat membuat enum seperti itu:

enum class AnsiColor(private val colorNumber: Byte) {
    BLACK(0), RED(1), GREEN(2), YELLOW(3), BLUE(4), MAGENTA(5), CYAN(6), WHITE(7);

    companion object {
        private const val prefix = "\u001B"
        const val RESET = "$prefix[0m"
        private val isCompatible = "win" !in System.getProperty("os.name").toLowerCase()
    }

    val regular get() = if (isCompatible) "$prefix[0;3${colorNumber}m" else ""
    val bold get() = if (isCompatible) "$prefix[1;3${colorNumber}m" else ""
    val underline get() = if (isCompatible) "$prefix[4;3${colorNumber}m" else ""
    val background get() = if (isCompatible) "$prefix[4${colorNumber}m" else ""
    val highIntensity get() = if (isCompatible) "$prefix[0;9${colorNumber}m" else ""
    val boldHighIntensity get() = if (isCompatible) "$prefix[1;9${colorNumber}m" else ""
    val backgroundHighIntensity get() = if (isCompatible) "$prefix[0;10${colorNumber}m" else ""
}

Dan kemudian gunakan seperti itu: (kode di bawah ini menunjukkan gaya yang berbeda untuk semua warna)

val sampleText = "This is a sample text"
enumValues<AnsiColor>().forEach { ansiColor ->
    println("${ansiColor.regular}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.bold}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.underline}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.background}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.highIntensity}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.boldHighIntensity}$sampleText${AnsiColor.RESET}")
    println("${ansiColor.backgroundHighIntensity}$sampleText${AnsiColor.RESET}")
}

Jika berjalan pada Windows di mana kode ANSI ini tidak didukung, isCompatiblepemeriksaan menghindari masalah dengan mengganti kode dengan string kosong.

Louis CAD
sumber