日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java输出彩色字符

發布時間:2024/10/8 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java输出彩色字符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在絕大部分情況下我們在命令行終端或者控制臺所輸出的內容都是黑白色的,但是在使用 Spring Boot 與 IDEA 時卻發現啟動項目后在控制臺竟然出現了彩色字體,那么這是這么實現的呢,其實就是用到了?ANSI 轉義序列

ANSI 轉義序列

ANSI 轉義序列(ANSI Escape codes)是一種帶內信號(In-band signaling)的轉義序列標準,用于控制視頻文本終端上的光標位置顏色和其他選項。在文本中嵌入確定的字節序列,大部分以 ESC 轉義字符和 [ 字符開始,終端會把這些字節序列解釋為相應的指令,而不是普通的字符編碼

固定格式

  • 轉移字符?Esc,ASCII 碼為 27(十六進制:0x1b)
  • 左中括號字符?[,ASCII 碼為 91(十六進制:0x5b)
  • 最后以字符m收尾

后跟控制鍵盤和顯示功能的字母數字碼(區分大小寫)

Esc[Value;...;Valuem

支持設置的顯示模式包括文本屬性前景色背景色

文本屬性

前景色

背景色

代碼實現(Kotlin)

fun main() {print("\u001b[4;31;42mHelloWorld!")}

輸出結果:

注意

當我們設置了轉義序列或者說是字符顏色等屬性之后,這個屬性會一直保留著,我們接下來的輸出會默認使用這個格式,所以我們需要在設置當前顯示屬性后,再重置一下所有屬性的轉義序列?\u001b[0m。

256種擴展顏色集

前面介紹的前景色和背景色只有八種顏色,可供選擇的比較少,如果有對顏色的需求,這時我們可以使用 256 色模式。

  • 前景色格式:Esc[38;5;#m
  • 背景色模式:Esc[48;5;#m

字符?#?為上圖中的數值,例如:\u001b[38;5;10m,就設置為前景色為綠色

代碼示例(Kotlin)

fun main() {for (i in 0..15) {for (j in 0..15) {val number = i * 15 + jval str = String.format("%3d", number)print("\u001b[48;5;${number}m $str")print("\u001b[0m")}println()}}

輸出結果:

參考

如何在命令行中顯示五彩斑斕的“黑”_青筆-CSDN博客?blog.csdn.net/weixin_37543731/article/details/102322738正在上傳…重新上傳取消

ANSI轉義序列?wiki.zhonghuashu.com/wiki/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97

總結

以上是生活随笔為你收集整理的Java输出彩色字符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。