‘壹’ c语言中字符编码到底有啥用
你这个问题挺有意思的。
看得出来你学东西有点思考哈。
说说我的理解
电脑里面保存的所有东西,其实都是1和0而已
所谓的字符型变量char,本质上和int变量只有长度的区别,也是保存1和0的,并没有什么特别之处。一个char变量,就是占用一个字节的空间。一个int变量,占用2个字节的空间
那这时候有个麻烦,我要输出一个字母怎么办?
比如输出a
电脑里只有1和0啊,如果要表示大点的数字还好办,只要多几位1和0,总可以表示
但是字母呢,符号呢?1 和0如何表示这些东西?
我写程序时怎么告诉电脑,我要在屏幕上显示的是“a”呢?
所以电脑最初的设计者们,就要为字母、数字、常用符号等等设计一套编码。
让程序员可以用这些编码来表示对应的字符。
这个编码最好是全球统一的,要不同一个编码,在你的电脑显示a,在我的电脑显示b,
那程序还怎么用?
所以,ASCII应运而生
“使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。”
有了这么一套约定俗成的东西,我只要输入对应的ACSII码,所有的电脑都会帮你输出对应的符号了。明白了吗?
其实汉字也一样,汉字也有其内码,才能够通过输入法来输入汉字。
‘贰’ 二级计算机C语言证书编号的含义是什么
第一位为考试等级(C语言是二级,第一位是2),第二位为考试登记中的具体科目,第三、四位为考试次数,第5~10位为考点报名代码,第11-14位是考场号,最后两位是座位号。
C语言是二级,因此其代号为24
‘叁’ C语言中如何输出unicode编码
Unicode编码
在计算机科学领域中,Unicode(统一码、万国码、单一码、标准万国码)是业界的一种标准,它可以使电脑得以呈现世界上数十种文字的系统。Unicode是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)对外发表。Unicode包含了超过十万个字符(在2005年,Unicode的第十万个字符被采纳且认可成为标准之一)、一组可用以作为视觉参考的代码图表、一套编码方法与一组标准字符编码、一套包含了上标字、下标字等字符特性的列举等。
Unicode的编码方式与ISO 10646的通用字符集(Universal Character Set,UCS)概念相对应,目前实际应用的Unicode版本对应于UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示216即65536个字符。基本满足各种语言的使用。实际上目前版本的Unicode尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展。C++处理Unicode编码
为了处理Unicode编码C++为每个字符处理函数提供了宽字符(wchar_t)处理函数。在ANSI/ISO 9899--1990也就是美国国家为程序设计语言C指定的标准(也称为ANSI C)中是这样定义的:用多个字节来代表的字符称之为宽字符,而Unicode只是宽字符编码的一种实现,宽字符并不一定是Unicode。
C语言中输出unicode编码可以是用宽字符输出函数。
下面是宽字符常用的输入输出函数表:
打印和扫描字符串:
宽字符函数 描述
fprintf()/fwprintf() 使用vararg参量的格式化输出
fscanf()/fwscanf() 格式化读入
printf() 使用vararg参量的格式化输出到标准输出
scanf() 从标准输入的格式化读入
sprintf()/swprintf() 根据vararg参量表格式化成字符串
sscanf() 以字符串作格式化读入
vfprintf()/vfwprintf() 使用stdarg参量表格式化输出到文件
vprintf() 使用stdarg参量表格式化输出到标准输出
vsprintf()/vswprintf() 格式化stdarg参量表并写到字符串
输入和输出:
宽字符函数 普通C函数 描述
fgetwc() fgetc() 从流中读入一个字符并转换为宽字符
fgetws() fgets() 从流中读入一个字符串并转换为宽字符串
fputwc() fputc() 把宽字符转换为多字节字符并且输出到标准输出
fputws() fputs() 把宽字符串转换为多字节字符并且输出到标准输出串
getwc() getc() 从标准输入中读取字符, 并且转换为宽字符
getwchar() getchar() 从标准输入中读取字符, 并且转换为宽字符
None gets() 使用fgetws()
putwc() putc() 把宽字符转换成多字节字符并且写到标准输出
putwchar() putchar() 把宽字符转换成多字节字符并且写到标准输出
None puts() 使用fputws()
ungetwc() ungetc() 把一个宽字符放回到输入流中
‘肆’ c语言设计简单计算机程序编码
#include<iostream>
using namespace std;
int main()
{
cout《“HELLO WORLD”《endl;
return 0;
}
‘伍’ 计算机c语言中0到15的编码
计算机中 都是二进制编码
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
101010
111011
121100
131101
141110
151111
‘陆’ C语言中西文最常用的编码是什么
微机中普遍使用的字符编码是ASCII码吗?
完全回答,是
ASCII有128字符
ANSI有256个字符(前128个和ASCII相同)
unicode是双字节,理论上有大约256*256=65536个字符。
Windows
95/98/ME使用的是GBK(ANSI)内核编码(兼容ASCII),
Windows
2000/XP/2003是使用得是UNICODE内核编码(不直接兼容ASCII),但是通过代码页也可以直接调用ASCII、ANSI、GB2312、GBK、GB18030等编码字符。
‘柒’ 计算机文件编码解码c语言如何实现
voidcodec(char*p){*p-=5;}main(){chara[100];inti;printf("Enterthestring!\n");scanf("%s",a);/*输入字符*/for(i=0;a[i]!='\0';i++){code(a+i);/*加密*/}printf("\ncodestringis:%s",a);for(i=0;a[i]!='\0';i++){codec(a+i);}printf("\nenterstringis:%s",a);}
‘捌’ 在C语言中如何指定字符串编码方式
计算机用两个字节来表示一个汉字,“我”在内存里就是这样存放的:CE D2。CE是str[0]的内容,D2是str[1]的内容。第一次循环输出str[0],但是这个字符在ASCII字符集里代表这样一个东西Î(不知道在这儿能不能正常显示……),但是Windows的命令提示符程序读取到这里就会自动使用宽字符集,也就是说,它已经准备好读取下一个字符,然后把他们当成一个字符显示出来。于是就出现了那个汉字。 #include <stdio.h> int main() { printf("%c%c",(char)0xce,(char)0xd2); }
‘玖’ c语言是用什么编码的
C语言是没有编码的。它的编码就是平台的默认编码。
比方说在windows 上汉字编码用gb2312 或者 说cp936(GBK一般的windows默认代码页,windows分为不同的代码页,可以查看一下MSDN)。
http://msdn.microsoft.com/zh-cn/goglobal/cc305153(en-us).aspx
C里char 就是一个字节。你定义一个汉字,比方说 char *p=“中”C语言用两个字节来存储;
p指向的两个字节存储的就是‘中’的gb编码。分别是‘\xd6\xd0’。
当然如果用printf("%s",p) 输入到屏幕的话,它会自动解码输出‘中’这个字。
如果在linux平台下,它一般是uft-8编码的,道理大概一样。