在Linux C编程中使用Unicode和UTF 8
在Linux C编程中使用Unicode和UTF-8
目前各种Linux发行版都支持UTF-8编码,当前系统的语言和字符编码设置保存在一些环境变量中,可以通过locale命令查看:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
常用汉字也都位于BMP中,所以一个汉字的存储通常占3个字节。
例如编辑一个C程序:
#include <stdio.h>
int main(void)
{
printf("你好\n");
return 0;
}
源文件是以UTF-8编码存储的:
$ od -tc nihao.c
0000000 # i n c l u d e < s t d i o .
0000020 h > \n \n i n t m a i n ( v o i
0000040 d ) \n { \n \t p r i n t f ( " 344 275
0000060 240 345 245 275 \ n " ) ; \n \t r e t u r
0000100 n 0 ; \n } \n
0000107
其中八进制的344 375 240(十六进制e4 bd a0)就是“你”的UTF-8编码,八进制的345 245 275(十六进制e5 a5 bd)就是“好”。
把它编译成目标文件,&quo
相关文档:
Linux 中 x86 的内联汇编
级别: 初级
Bharata B. Rao (rbharata@in.ibm.com)IBM Linux 技术中心,IBM 软件实验室,印度
2001 年 3 月 01 日
Bharata B. Rao 提供了在 Linux 平台上使用和构造 x86 内联汇编的概括性介绍。他介绍了内联汇编及其各种用法的基础知识,提供了一些基本的内联汇编编码指导,并解释了在 Linux ......
Linux 汇编器:对比 GAS 和 NASM
对比 GNU Assembler(GAS)和 Netwide Assembler(NASM)
Ram Narayam (rnaraya2@in.ibm.com), 软件工程师, IBM
2007 年 11 月 05 日
本文解释两种最流行的 Linux® 汇编器 —— GNU Assembler(GAS)和 Netwide Assembler(NASM) —— 之间一些比较重要的语法 ......
无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发
还是安装应用软件,我们都经常要用到make或make
install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和
makefile工具就可以简洁明快地理顺各个 ......
国外优秀linux内核和android专家团队寻求国内企业合作,我们提供一流的技术支持你们的linux/android产品,提供顶级专家级别的支持。
联系邮箱:chinaandroidproject@gmail.com qq:1124992772
团队主页:
http://panicking.kicks-ass.org/ ......