跳到主要内容
ansicode

SGR 38;5;n — 256 色前景

从 xterm 256 色调色板中选择前景色。

字节形式

涵盖所有常见的字符串字面量写法,方便正反查找。

\\x1b[\x1b[38;5;Nm
\\033[\033[38;5;Nm
\\e[\e[38;5;Nm
ESC [ESC [ 3 8 ; 5 ; N m
hex1b 5b 33 38 3b 35 3b <N> 6d

说明

N 取 0–255。0–7 对应 8 种基础色,8–15 对应高亮变体,16–231 构成 6×6×6 RGB 立方体(公式 `16 + 36*r + 6*g + b`,r/g/b 取 0–5),232–255 是 24 级灰阶。背景等价形式:`\x1b[48;5;Nm`。部分老终端也接受冒号形式 `\x1b[38:5:Nm`(符合 ECMA-48 子参数分隔符规范)。

规范出处: xterm-ctlseqs (256-color extension)

示例

bash
for n in 16 51 196 226 51 21 201; do printf "\033[38;5;${n}m■\033[0m"; done; echo
python
for n in [16, 196, 226, 21, 51, 201]: print(f'\x1b[38;5;{n}m■\x1b[0m', end='')
go
for _, n := range []int{16,196,226,21,51,201} { fmt.Printf("\x1b[38;5;%dm■\x1b[0m", n) }
javascript
[16,196,226,21,51,201].forEach(n => process.stdout.write(`\x1b[38;5;${n}m■\x1b[0m`))
c
int n[] = {16,196,226,21,51,201}; for (int i=0;i<6;i++) printf("\x1b[38;5;%dm■\x1b[0m", n[i]);

终端支持

xterm
支持
Linux console (fbcon)
不支持
macOS Terminal.app
支持
iTerm2
支持
Windows Terminal
支持
cmd.exe / ConPTY
部分
kitty
支持
alacritty
支持
WezTerm
支持
Ghostty
支持
GNOME Terminal
支持
Konsole
支持
tmux
不支持
GNU screen
不支持

相关序列

在家族食谱中

SGR 食谱 · 3. 256 索引色 —— `\x1b[38;5;n m`