汉字机内码
计算机中汉字的编码也是用 二进制编码的,根据应用目的不同,汉字编码分为外码、交换码、机内码和外形码。
1.外码(输入码)
外码也叫输入码,是用来将 汉字输入到计算机中的一组键盘符号。常用的输入码有拼音码、五笔字型码、 自然码、表形码、认知码、区位码和电报码等,一种好的编码应有编码规则简单、易学好记、操作方便、 重码率低、输入速度快等优点,每个人可根据自己的需要进行选择。
2.交换码(国标码)
计算机内部处理的信息,都是用 二进制代码表示的,汉字也不例外。而二进制代码使用起来是不方便的,于是需要采用 信息交换码。中国标准总局1981年制定了中华人民共和国国家标准GB2312--80《信息交换用汉字编码字符集--基本集》,即国标码。
区位码是国标码的另一种表现形式,把国标GB2312--80中的汉字、图形符号组成一个94×94的方阵,分为94个“区”,每区包含94个“位”,其中“区”的序号由01至94,“位”的序号也是从01至94。94个区中位置总数=94×94=8836个,其中7445个汉字和图形 字符中的每一个占一个位置后,还剩下1391个空位,这1391个位置空下来保留备用。
3. 机内码
根据国标码的规定,每一个汉字都有了确定的 二进制代码,在微机内部汉字代码都用机内码,在磁盘上记录汉字代码也使用机内码。
4.汉字的 字形码
字形码是汉字的输出码,输出汉字时都采用图形方式,无论汉字的笔画多少,每个汉字都可以写在同样大小的方块中。通常用16×16点阵来显示汉字。
5.汉字地址码
汉字地址码是指汉字库中存储汉字字形信息的逻辑地址码。它与汉字内码有着简单的对应关系,以简化内码到地址码的转换。
如题:
汉字统计
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 30976 Accepted Submission(s): 16990
Problem Description
统计给定文本文件中汉字的个数。
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
[Hint:]从汉字机内码的特点考虑~
Sample Input
2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!
马上就要期末考试了Are you ready?
Sample Output
//代码如下:
#include <fstream>
#include<iostream>
#include<cmath>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
char a[1000];
int n;cin>>n;getchar();
while(n--)
{ gets(a);
int len=strlen(a);
int res=0;
for(int i=0;i<len;i++)
{
if(a[i]<0) res++;
}
res/=2;
cout<<res<<endl;
}
return 0;
}
//汉字的ascii码值小于零。由于汉字使用了两个字节,所以结果要除二。