汉字机内码

汉字机内码

计算机中汉字的编码也是用 二进制编码的,根据应用目的不同,汉字编码分为外码、交换码、机内码和外形码。

1.外码(输入码)
外码也叫输入码,是用来将 汉字输入到计算机中的一组键盘符号。常用的输入码有拼音码、五笔字型码、 自然码、表形码、认知码、区位码和电报码等,一种好的编码应有编码规则简单、易学好记、操作方便、 重码率低、输入速度快等优点,每个人可根据自己的需要进行选择。
2.交换码(国标码)
计算机内部处理的信息,都是用 二进制代码表示的,汉字也不例外。而二进制代码使用起来是不方便的,于是需要采用 信息交换码。中国标准总局1981年制定了中华人民共和国国家标准GB2312--80《信息交换用汉字编码字符集--基本集》,即国标码。
区位码是国标码的另一种表现形式,把国标GB2312--80中的汉字、图形符号组成一个94×94的方阵,分为94个“区”,每区包含94个“位”,其中“区”的序号由01至94,“位”的序号也是从01至94。94个区中位置总数=94×94=8836个,其中7445个汉字和图形 字符中的每一个占一个位置后,还剩下1391个空位,这1391个位置空下来保留备用。
根据国标码的规定,每一个汉字都有了确定的 二进制代码,在微机内部汉字代码都用机内码,在磁盘上记录汉字代码也使用机内码。
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
   
   
14 9
 
//代码如下:
#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码值小于零。由于汉字使用了两个字节,所以结果要除二。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值