Java中对gb2312字符集的遍历

本文介绍如何使用Java遍历ASCII和GB2312字符集,并重点介绍了GB2312字符集的基本知识及其遍历方法。

最近写爬虫需要利用被爬取app的搜索引擎,然后就想到了利用常用的汉字作为搜索关键词

然而,去那去找这些常用的汉字表呢?此时很自然的就想到了gb2312字符集

然后,就是怎样遍历字符集的问题了

先从我们熟悉的ASCII字符集下手,其实Java没有c/c++那么自由,所以Java的遍历和c/c++还是有一点区别的

 //对ASCII字符集遍历
        try
        {
            byte[] tmp=new byte[1];

            for (int i=0;i<128;i++)
            {
                tmp[0]=(byte) i;
                String b=new String(tmp,"ASCII");
                System.out.println(b);
            }
        } catch (UnsupportedEncodingException e)
        {
            e.printStackTrace();
        }

然后,进入主题,对gb2312字符集进行遍历

首先我们得知道gb2312字符集的基本知识

gb2312相关知识链接
GB2312简体中文编码表
GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。整个字符集分成94个区,每区有94个位。

GB2312,又称为GB0,由中国国家标准总局发布,1981年5月1日实施
GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个
GB2312是一种区位码。分为94个区(01-94),每区94个字符(01-94)
01-09区为特殊符号
10-15区没有编码
16-55区为一级汉字,按拼音排序,共3755个
56-87区为二级汉字,按部首/笔画排序,共3008个
88-94区没有编码
GB2312只是编码表,在计算机中通常都是用”EUC-CN”表示法,即在每个区位加上0xA0来表示。区和位分别占用一个字节。

//对gb2312字符集遍历
        try
        {

            //遍历gb2312汉字编码分区
            for (int i=0xB0;i<0xF7;i++)
            {
                //遍历每个分区中的汉字
                for (int j=0xA1;j<0xFF;j++)
                {
                    byte[] bytes=new byte[2];
                    bytes[0]= (byte) i;
                    bytes[1]= (byte) j;
                    short tmp= (short) (i+j);
                    String s = new String(bytes, "gb2312");
                    System.out.println(s);
                }

            }
        } catch (UnsupportedEncodingException e)
        {
            e.printStackTrace();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值