C语言的源程序字符集与执行字符集

我们程序文件的字符集就是我们写出来的.c扩展名的文件的字符集,这里用的是系统默认的 ANSI 字符集,如下图:

上面的字符集我们不关心,我们关心的是 源程序的字符集 和程序的 执行字符集 源程序的字符集是我们在编译程序时指定的编译选项,这里我们选择UNICODE,如图:

而程序的执行字符集则不好确定了,如果我们执行程序的操作系统是 UNICODE 字符集,那么执行字符集就是 UNICODE 字符集,如果我们执行程序的的操作系统 ASCII 字符集,那么执行字符集就是 ASCII 字符集。

假设我们把一个 UNICODE 字符集的程序在 ASCII 字符集的操作系统上执行,则很可能会出现乱码,因为 UNICODE 字符集和 ASCII 字符集对字符的编码不相同,而且UNICODE 字符集中的字符数目远远超出 ASCII 字符集,很可能遇到ASCII 字符集无法表示的字符。

时间: 2024-11-03 05:26:35

C语言的源程序字符集与执行字符集的相关文章

C语言源字符集与执行字符集

参考: http://blog.csdn.net/yucan1001/article/details/7188267   http://blog.csdn.net/dbzhang800/article/details/7540905

字符集与Mysql字符集处理(一)

  一.字符集总结 其实大多数的知识在这篇文章里已经讲得非常清楚了.这里只是讲一下自己的感悟. 1. UTF-8虽然是以UTF(unicode transfermation format)开头的,但是他并不是真正意义上的Unicode.他是在UCS上的再编码.而且,这是一个变长的编码方式. 2. 根据这篇文章的说法,在ISO制定UCS(Universal Character Set)的同时,另一个由厂商联合组织也在着手制定这样的编码,称为Unicode,后来两家联手制定统一的编码,但各自发布各自

C语言文件的编译到执行的四个阶段

C语言文件的编译与执行的四个阶段并分别描述 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接.编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程.链接是把目标文件.操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程. 第一个阶段: 是预处理阶段,在正式的编译阶段之前进行.预处理阶段将根据已放置在文件中的预处理指令来修改源文件的内容.如#include指令就是一个预处理指令,它把头文件的内容添加到.cpp

【oracle】字符集、国家字符集及NLS_LANG运行库

************************************************************************   ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************   --unicode编码方案 --三个实施标准:utf-8,usc-2,utf-16 --oracle数据库字符集 --字符集c

字符集与Mysql字符集处理(二)

接着上篇文章继续讲字符集的故事.这一篇文章主要讲MYSQL的各个字符集设置,关于基础理论部分,参考于这里.   1. MYSQL的系统变量 – character_set_server:默认的内部操作字符集 – character_set_client:客户端来源数据使用的字符集 – character_set_connection:连接层字符集 – character_set_results:查询结果字符集 – character_set_database:当前选中数据库的默认字符集 – ch

C语言是怎么编译到执行Hello world的。

1.首先在编译器上写出你的Hello world程序,比如我在linux平台用GCC编译器进行编译,此时程序名称应该是以.c为后缀的文件名. 2.编译第一步,启动cpp预处理器,进行预处理操作,展开头文件替换,加载头文件等等.编译完成之后生成一个.i为后缀的文件 此时使用命令:gcc -E hello.c -o hello.i 如果有兴趣可以打开hello.i文件查看里面的内容. 3.第三步,该启动gcc/cc编译器了,该编译器可将预处理后后的.i文件编译成平台汇编,根据平台的差异编译成不同的汇

多字节字符集与Unicode字符集

在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset). 多字节字符集: 在最初的时候,Internet上只有一种字符集——ANSI的ASCII字符集,它使用7 bits来表示一个 字符,总共表示128个字符,其中包括了 英文字母.数字.标点符号等常用字符.之后,又进行扩展,使用8 bits表示一个字符,可以表示256个字符,主要在原来的7 bits字符集的基础上加入了一些特殊符号.后来,由于各国语言的加入,

MFC unicode字符集与多字节字符集 问题之彻底终结!

Unicode 和多字节字符集 (MBCS) 支持 Visual Studio .NET 2003 有些国际市场以大字符集来使用日文和中文等语言.为了支持这些市场的编程,Microsoft 基础类库 (MFC) 支持以两种方式处理大字符集: Unicode 多字节字符集 (MBCS) unicode和多字节字符集是两种不同的编码方式,不同的编码方式下,所对应的一些函数是不兼容的. 读到多字节菜单字符串之后,用MultiByteToWideChar()转为unicode字符串 或者 使用API的A

特殊汉字“𣸭”引发的对于字符集的思考;mysql字符集;sqlalchemy字符集设置;客户端字符集设置;

字符集.字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持.而在数据的对比操作上,则提供了不同的字符序支持. MySQL提供了不同级别的设置,包括server级.database级.table级.column级,可以提供非常精准的设置. 什么是字符集.字符序?简单的来说: 字符集(character set):定义了字符以及字符的编码. 字符序(collation):定义了字符的比较规则. 举个例子: 有四个字符:A.B.a.b,这四个字符的编码分别是A = 0, B = 1,