标准的Ascll码表是128个符号,用0~127来表示.
1个字节就可以存放下.
而1个字节byte对应着C语言中char.
1000
0000 - 1111 1111 欧洲
0000 0000 - 0111 1111 标准的Ascll码表.
0x00-0x7F
1010 0001 - 1111 0111 1010 0001 - 0x1111
1110
0xA1-0xF7
0xA1-0xFE
GB2312或者GB2312-80中汉字的编码范围为,
GBK 共收入 21886
个汉字和图形符号!
第一字节0xB0-0xF7(对应十进制为176-247),
第二个字节0xA0-0xFE(对应十进制为160-254)。
这样子可以组合出几千种可能性.
差不多可以表示常用的中文简体字以及一些罗马希腊的字母、日文的假名都编进去了.
但也仅仅是常用的简体字,有的简体字,在GB2312里面是没有收录的,所以会显示奇怪的符号或者显示一个问号.
并且把Ascll里本来就有的数字、标点、统统重新编了两个字节的编码.
这也是我们输入法里面说的"全角"字符.
而写代码用的标点符号属于Ascll码里面的"半角"字符.
在简体中文系统下,ANSI
编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS
编码。
编码的重复问题,以及Unicode
#include<stdio.h>
#include<stdlib.h>
void main() {
char v1=0x23;
putchar(v1);
system("pause");}
#include<stdio.h>
#include<stdlib.h>
void main() {
char v1='a';
printf("%c
",v1);\c指ascll
system("pause");}
#include<stdio.h>
#include<stdlib.h>
void main() {
char v1[]={'a','b','c','d',0x45}
int length=sizeof(v1)/1;
for(size_t i=0;i<length; i++)
printf("%c
",v1[i]);\
systen("pause");}
#include<stdio.h>
#include<stdlib.h>
void main() {
char v1[]="abcd";\或者{'a','b','c','d',0x00}0x00是字符串结束
int length=sizeof(v1)/1;
printf("%s
",v1);\string 字符串
systen("pause");}
#include<stdio.h>
#include<stdlib.h>
void main() {
char v1[]="极客编程521";
int length=sizeof(v1);
printf("%s
",v1);
systen("pause");}