| 编码 | 说明 |
|---|---|
| GB2312 | 1980 国标,6763 个汉字 |
| GBK | 1995 扩展,21003 个汉字 |
| Unicode | 国际统一,70000+ |
字符 UTF-8|Unicode 传输编码

C 字符串中汉字常用 GBK(2 字节):高字节 0x81~0xFE,低字节 0x40~0xFE。
汉字显示有两种方法:
点阵大小:12×12 / 16×16 / 24×24 / 32×32。
TFTLCD + 外部 Flash(W25Q64)存字库。
工具:PCtoLCD2002。
导出:
unsigned char hz_16x16[] = { 0x02,0x00,0x01,0x00, ... };
void LCD_ShowChinese(uint16_t x, uint16_t y, uint8_t *s, uint16_t fc, uint16_t bc) {
while (*s) {
if (*s < 0x80) { // ASCII
LCD_ShowChar(x, y, *s, 16, fc, bc);
x += 8;
s++;
} else { // GBK 汉字
// 算出字库偏移
uint32_t offset = ((*s - 0x81) * 190 + (*(s+1) - 0x40)) * 32;
// 从字库读 32 字节
W25Qxx_ReadData(buf, offset, 32);
// 画点到 LCD
...
x += 16;
s += 2;
}
}
}

LCD 显示「你好,世界!STM32 真好玩!」字符串 → 汉字清晰无乱码。


u8"" 字符串前缀 + Unicode 字库。