GB2312

GB2312一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

以下代码输出GB2312的所有字符(刚刚好7445个字符)

    unsigned short range[][2] = 
    {
        {0xA1A1,0xA1FE},
        {0xA2B1,0xA2E2},
        {0xA2E5,0xA2EE},
        {0xA2F1,0xA2FC},
        {0xA3A1,0xA3FE},
        {0xA4A1,0xA4F3},
        {0xA5A1,0xA5F6},
        {0xA6A1,0xA6B8},
        {0xA6C1,0xA6D8},
        {0xA7A1,0xA7C1},
        {0xA7D1,0xA7F1},
        {0xA8A1,0xA8BA},
        {0xA8C5,0xA8E9},
        {0xA9A4,0xA9EF},
        {0xB0A1,0xB0FE},
        {0xB1A1,0xB1FE},
        {0xB2A1,0xB2FE},
        {0xB3A1,0xB3FE},
        {0xB4A1,0xB4FE},
        {0xB5A1,0xB5FE},
        {0xB6A1,0xB6FE},
        {0xB7A1,0xB7FE},
        {0xB8A1,0xB8FE},
        {0xB9A1,0xB9FE},
        {0xBAA1,0xBAFE},
        {0xBBA1,0xBBFE},
        {0xBCA1,0xBCFE},
        {0xBDA1,0xBDFE},
        {0xBEA1,0xBEFE},
        {0xBFA1,0xBFFE},
        {0xC0A1,0xC0FE},
        {0xC1A1,0xC1FE},
        {0xC2A1,0xC2FE},
        {0xC3A1,0xC3FE},
        {0xC4A1,0xC4FE},
        {0xC5A1,0xC5FE},
        {0xC6A1,0xC6FE},
        {0xC7A1,0xC7FE},
        {0xC8A1,0xC8FE},
        {0xC9A1,0xC9FE},
        {0xCAA1,0xCAFE},
        {0xCBA1,0xCBFE},
        {0xCCA1,0xCCFE},
        {0xCDA1,0xCDFE},
        {0xCEA1,0xCEFE},
        {0xCFA1,0xCFFE},
        {0xD0A1,0xD0FE},
        {0xD1A1,0xD1FE},
        {0xD2A1,0xD2FE},
        {0xD3A1,0xD3FE},
        {0xD4A1,0xD4FE},
        {0xD5A1,0xD5FE},
        {0xD6A1,0xD6FE},
        {0xD7A1,0xD7F9},
        {0xD8A1,0xD8FE},
        {0xD9A1,0xD9FE},
        {0xDAA1,0xDAFE},
        {0xDBA1,0xDBFE},
        {0xDCA1,0xDCFE},
        {0xDDA1,0xDDFE},
        {0xDEA1,0xDEFE},
        {0xDFA1,0xDFFE},
        {0xE0A1,0xE0FE},
        {0xE1A1,0xE1FE},
        {0xE2A1,0xE2FE},
        {0xE3A1,0xE3FE},
        {0xE4A1,0xE4FE},
        {0xE5A1,0xE5FE},
        {0xE6A1,0xE6FE},
        {0xE7A1,0xE7FE},
        {0xE8A1,0xE8FE},
        {0xE9A1,0xE9FE},
        {0xEAA1,0xEAFE},
        {0xEBA1,0xEBFE},
        {0xECA1,0xECFE},
        {0xEDA1,0xEDFE},
        {0xEEA1,0xEEFE},
        {0xEFA1,0xEFFE},
        {0xF0A1,0xF0FE},
        {0xF1A1,0xF1FE},
        {0xF2A1,0xF2FE},
        {0xF3A1,0xF3FE},
        {0xF4A1,0xF4FE},
        {0xF5A1,0xF5FE},
        {0xF6A1,0xF6FE},
        {0xF7A1,0xF7FE},
    };

    unsigned short count = 0;
    unsigned short j;
    unsigned short i;
    for(i = 0; i < sizeof(range)/sizeof(range[0]); i++)
    {
        for(j = range[i][0]; j <= range[i][1]; j++)
        {
            printf("%d 0x%04X\n", ++count, j);
        }
    }

    FILE *fp = fopen("gb2312character.txt","wb");
    if(fp == NULL)return 0;

    for(i = 0; i < sizeof(range)/sizeof(range[0]); i++)
    {
        for(j = range[i][0]; j <= range[i][1]; j++)
        {
            fputc(j>>8, fp);
            fputc(j&0xff,fp);
        }
    }

    if(fp!=NULL)
    {
        fclose(fp);
        fp = NULL;
    }




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值