linux中汉字显示的相关问题

最近在写个小的UI程序,要求能够显示中英文,看了framebuffer相关资料后,还比较顺利的实现了。但是关于汉字的显示就有些问题了,这这里记录下,备查看。有些问题还没有去深究。

因为是试验,所以我直接在代码中写了中文,这样有以下问题

使用vim的时候,因为vim有自己的编解码格式,所以需要进行设置,因为我打算使用gbk编码,所以对vim进行以下设置

 打开~/.vimrc,设置set encoding=gbk; set fileencoding=gbk; set termencoding=gbk 各参数的意思可参考http://rainux.org/vim-gvimvim-on-win32。这样当我们在代码中输入的汉字就会以gbk格式存储,

关于编码格式存储的不同,可以自己做个试验。通过将上面的参数设置成不同的格式编辑一个文件,然后用file命令查看文件编码格式,然后再使用hexedit查看实际保存的值(这里有个问题我没想明白,用hexedit查看得到最后一个字节是0x0A,而实际打印出来的话是'/0'??)。当不同编码格式的文件之间转换时候可以使用iconv -f fromcode -t desccode file -o outputfile进行转换。

 

2.中英文混合显示

这就要判断是中文还是英文了,因为中文采用双7bits,高位置1,而英文使用单7bits,高位置0,所以可以通过比较正负数来判断中英文显示

 

3.程序对不同编码和字库的支持

这个还没有实现

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章