第34节:中文字符
1、字符串的使用
C语言代码:
#include<stdio.h>
void main(){
char buffer[20] = "中国";
printf("%s \n",buffer);
return;
}
汇编代码:
4: char buffer[20] = "中国";
00401028 mov eax,[string "\xd6\xd0\xb9\xfa" (00422024)]
对应的内存:
00422024 D6 D0 B9 FA
以上的对应的ASCII表示拓展表是从128~255。
2、如何才能在计算机中存储中文呢?
为了显示中文,必须设计一套编码规则用于将汉字转换为计算机可以接受的数字系统的数,其中两个大于127的字符连起来,就表示一个汉字(组合出大约7000多个简体汉字)。
上述编码规则就是GB2312或GB2312-80。
GB2312或GB2312-80的弊端
1、两种编码可能使用相同的数字代码两个不同的符号。
2、或者使用相同的数字代表不同符号。
Unicode编码就是位了解决这个问题才出现的。
1、字符串的使用
C语言代码:
#include<stdio.h>
void main(){
char buffer[20] = "中国";
printf("%s \n",buffer);
return;
}
汇编代码:
4: char buffer[20] = "中国";
00401028 mov eax,[string "\xd6\xd0\xb9\xfa" (00422024)]
对应的内存:
00422024 D6 D0 B9 FA
以上的对应的ASCII表示拓展表是从128~255。
2、如何才能在计算机中存储中文呢?
为了显示中文,必须设计一套编码规则用于将汉字转换为计算机可以接受的数字系统的数,其中两个大于127的字符连起来,就表示一个汉字(组合出大约7000多个简体汉字)。
上述编码规则就是GB2312或GB2312-80。
GB2312或GB2312-80的弊端
1、两种编码可能使用相同的数字代码两个不同的符号。
2、或者使用相同的数字代表不同符号。
Unicode编码就是位了解决这个问题才出现的。