韦东山嵌入式入门笔记之——应用开发基础篇(七)

第六章  文字显示

6.3  中文字符的点阵显示

源码:
04_嵌入式 Linux 应用开发基础知识\source\09_show_chinese\
test_charset_ansi.c
test_charset_utf8.c
show_chinese.c

6.3.1   指定编码格式
使用点阵字库时,中文字符的显示原理跟 ASCII 字符是一样的。要注意的地方在于中文的编码:在 C 源文件中它的编码方式是 GB2312 还是UTF-8?编译出的可执行程序,其中的汉字编码方式是 GB2312 还是 UTF- 8?

1、一般不会使用UTF-16 的编码方式,在这种方式下 ASCII 字符也是用 2 字节来表示,而其中一个字节是 0,但是在 C 语言中 0 表示字符串的结束符,会引起误会。 

2、我们编写 C 程序时,可以使用 ANSI 编码,或是 UTF-8 编码

  • 在编译程序时,可以使用以下的选项告诉编译器:
    如果不指定“-finput-chars et”,GCC 就会默认 C 程序的编码方式为 UTF-8,即使你是以 ANSI 格式保存,也会被当作 UTF-8 来对待。
  • 对于编译出来的可执行程序,可以指定它里面的字符是以什么方式编码,可以使用以下的选项编译器:
    如果不指定“-fexec-charset”,GCC 就会默认编译出的可执行程序中字符的编码方式为 UTF-8。 
  • 如果“-finput-charset”与“-fexec-charset”不一样,编译器会进行格式转换。

 

待完善

 

猜你喜欢

转载自blog.csdn.net/San_a_fish_of_dream/article/details/113836529
今日推荐