精华内容
下载资源
问答
  • 仿宋和楷体、仿宋_GB2312和楷体GB_2312字体

    千次下载 热门讨论 2013-02-18 18:44:01
    资源包括:仿宋、楷体、仿宋_GB2312、楷体GB_2312 存在问题:在XP系统中,没有仿宋、楷体,只有仿宋_GB2312和楷体_GB2312这两种字体。但是到了Win7系统,却只有仿宋和楷体,没有了仿宋_GB2312和楷体_GB2312这两种...
  • GB2312为什么叫GB2312

    2019-10-29 14:14:42
    GB是“国标”的首拼音,2312是个版本号,完整的版本号是GB2312-1980。

    GB是“国标”的首拼音,2312是个版本号,完整的版本号是GB2312-1980。

    展开全文
  • GB2312,Unicode互转GB2312ToUnicode

    千次阅读 2018-09-19 21:14:30
    ///////////////////////////////////////////////////////////////////// wchar_t* CCommonHelper::GB2312ToUnicode(const char* szGBString) {  UINT nCodePage = 936; //GB2312  int nLength=MultiByteToWi...

    /
    wchar_t* CCommonHelper::GB2312ToUnicode(const char* szGBString)
    {
        UINT nCodePage = 936; //GB2312
        int nLength=MultiByteToWideChar(nCodePage,0,szGBString,-1,NULL,0);
        wchar_t* pBuffer = new wchar_t[nLength+1];
        MultiByteToWideChar(nCodePage,0,szGBString,-1,pBuffer,nLength);
        pBuffer[nLength]=0;
        return pBuffer;
    }
    //Unicode 转换成 GB2312:
    char* CCommonHelper::UnicodeToGB2312(const wchar_t* szUnicodeString)
    {
        UINT nCodePage = 936; //GB2312
        int nLength=WideCharToMultiByte(nCodePage,0,szUnicodeString,-1,NULL,0,NULL,NULL);
        char* pBuffer=new char[nLength+1];
        WideCharToMultiByte(nCodePage,0,szUnicodeString,-1,pBuffer,nLength,NULL,NULL);
        pBuffer[nLength]=0;
        return pBuffer;
    }

    展开全文
  • utf8gb2312互转集成GB2312.txt

    热门讨论 2007-07-06 13:43:57
    例:utf8gb2312互转 /* * 例: * $xyy=new GB2312UTF8(); * $UTF8=$xyy->GB2312TOUTF8("i lover 你!"); * $GB2312=$xyy->UTF8TOGB2312($UTF8); * echo $UTF8." ".$GB2312; */
  • 汉字编码对照表(gb2312/Big5/GB2312)

    万次阅读 2019-01-07 23:37:30
     1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占6763个。...

    一、汉字编码的种类

          1GB2312又称国标码,由国家标准总局发布,198151日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占6763个。我们平时说6768个汉字,实际上里边有5个编码为空白,所以总共有6763个汉字。

          GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。GB2312中汉字的编码范围为,第一字节0xB0-0xF7(对应十进制为176-247),第二个字节0xA0-0xFE(对应十进制为160-254)。

        GB2312将代码表分为94个区,对应第一字节(0xa1-0xfe);每个区94个位(0xa1-0xfe),对应第二字节,两个字节的值分别为区号值和位号值加322OH),因此也称为区位码。01-09区为符号、数字区,16-87区为汉字区(0xb0-0xf7),10-15区、88-94区是有待进一步标准化的空白区。

           2Big5又称大五码,主要为香港与台湾使用,即是一个繁体字编码。每个汉字由两个字节构成,第一个字节的范围从0X810XFE(即129-255),共126种。第二个字节的范围不连续,分别为0X400X7E(即64-126),0XA10XFE(即161-254),共157种。

     

        3GBKGB2312的扩展,是向上兼容的,因此GB2312中的汉字的编码与GBK中汉字的相同。另外,GBK中还包含繁体字的编码,它与Big5编码之间的关系我还没有弄明白,好像是不一致的。GBK中每个汉字仍然包含两个字节,第一个字节的范围是0x81-0xFE(即129-254),第二个字节的范围是0x40-0xFE(即64-254)。GBK中有码位23940个,包含汉字21003个。

                                        

                                       1 汉字编码范围

    名称

    第一字节

    第二字节

    GB2312

    0xB0-0xF7(176-247)

    0xA0-0xFE160-254

    GBK

    0x81-0xFE129-254

    0x40-0xFE64-254

    Big5

    0x81-0xFE129-255

    0x40-0x7E64-126

    0xA10xFE161-254

     

     

    二、对汉字进行hash

        为了处理汉字的方便,在查找汉字的时候,我们通常会用到hash的方法,那怎么来确定一个汉字位置呢?这就和每种编码的排列有关了,这里主要给出一种hash函数的策略。

        对于GB2312编码,设输入的汉字为GBword,我们可以采用公式(C1-176)*94 + (C2-161)确定GBindex。其中,C1表示第一字节,C2表示第二字节。具体如下:

        GBindex = ((unsigned char)GBword.at(0)-176)*94 + (unsigned char)GBword.at(1) - 161;

        之所以用unsigned char类型,是因为char是一个字节,如果用unsigend int,因为int4个字节的,所以会造成扩展,导致错误。

           对于GBK编码,设输入的汉字为GBKword,则可以采用公式   index=(ch1-0x81)*190+(ch2-0x40)-(ch2/128),其中ch1是第一字节,ch2是第二字节。

        具体的,

        GBKindex = ((unsigned char)GBKword[0]-129)*190 +

                   ((unsigned char)GBKword[1]-64) - (unsigned char)GBKword[1]/128;

     

    三、怎样判断一个汉字的是什么编码

    直接根据汉字的编码范围判断,对于GB2312GBK可用下面两个程序实现。

    1、判断是否是GB2312

    bool isGBCode(const string& strIn)

    {

        unsigned char ch1;

        unsigned char ch2;

       

        if (strIn.size() >= 2)

        {

            ch1 = (unsigned char)strIn.at(0);

            ch2 = (unsigned char)strIn.at(1);

            if (ch1>=176 && ch1<=247 && ch2>=160 && ch2<=254)

                return true;

            else return false;

        }

        else return false;

    }

    2、判断是否是GBK编码

    bool isGBKCode(const string& strIn)

    {

        unsigned char ch1;

        unsigned char ch2;

       

        if (strIn.size() >= 2)

        {

            ch1 = (unsigned char)strIn.at(0);

            ch2 = (unsigned char)strIn.at(1);

            if (ch1>=129 && ch1<=254 && ch2>=64 && ch2<=254)

                return true;

            else return false;

        }

        else return false;

    }

     

    3、对于Big5

        它的范围为:高字节从0xA00xFE,低字节从0x400x7E,和0xA10xFE两部分。判断一个汉字是否是BIG5编码,可以如上对字符的编码范围判断即可。如何定位呢?那么也想象所有编码排列为一个二维坐标,纵坐标是高字节,横坐标是低字节。这样一行上的汉字个数:(0x7E-0x40+1)+(0xFE-0xA1+1)157。那么定位算法分两块,为:  

        if 0x40<=ch2<=0x7E: #is big5 char

        index=((ch1-0xA1)*157+(ch2-0x40))*2

        elif 0xA1<=ch2<=0xFE: #is big5 char

        index=((ch1-0xA1)*157+(ch2-0xA1+63))*2

     

    对于第二块,计算偏移量时因为有两块数值,所以在计算后面一段值时,不要忘了前面还有一段值。0x7E-0x40+1=63

     

    四、如果判断一个字符是西文字符还是中文字符

        大家知道西文字符主要是指ASCII码,它用一个字节表示。且这个字符转换成数字之后,该数字是大于0的,而汉字是两个字节的,第一个字节的转化为数字之后应该是小于0的,因此可以根据每个字节转化为数字之后是否小于0,判断它是否是汉字。

        例如,设输入字为strin,则,

         If (strin.at(0) < 0)

           cout << ”是汉字” << endl;

         else cout << ”不是汉字” << endl;

     

    五、编码表下载
        见附件

    六、编码对照表
            http://www.herongyang.com/gb2312/

    展开全文
  • 来自:http://www.cnblogs.com/mahatmasmile/p/3467495.html/// /// GB2312转换成UTF8 /// /// /// public static string gb2312_utf8(string text) { /
    来自:<a href="http://www.cnblogs.com/mahatmasmile/p/3467495.html">http://www.cnblogs.com/mahatmasmile/p/3467495.html</a><br>/// <summary>
            /// GB2312转换成UTF8
            /// </summary>
            /// <param name="text"></param>
            /// <returns></returns>
            public static string gb2312_utf8(string text)
            {
                //声明字符集  
                System.Text.Encoding utf8, gb2312;
                //gb2312  
                gb2312 = System.Text.Encoding.GetEncoding("gb2312");
                //utf8  
                utf8 = System.Text.Encoding.GetEncoding("utf-8");
                byte[] gb;
                gb = gb2312.GetBytes(text);
                gb = System.Text.Encoding.Convert(gb2312, utf8, gb);
                //返回转换后的字符  
                return utf8.GetString(gb);
            }
     
            /// <summary>
            /// UTF8转换成GB2312
            /// </summary>
            /// <param name="text"></param>
            /// <returns></returns>
            public static string utf8_gb2312(string text)
            {
                //声明字符集  
                System.Text.Encoding utf8, gb2312;
                //utf8  
                utf8 = System.Text.Encoding.GetEncoding("utf-8");
                //gb2312  
                gb2312 = System.Text.Encoding.GetEncoding("gb2312");
                byte[] utf;
                utf = utf8.GetBytes(text);
                utf = System.Text.Encoding.Convert(utf8, gb2312, utf);
                //返回转换后的字符  
                return gb2312.GetString(utf);
            }

    展开全文
  • utf-8转gb2312,gb2312转utf-8

    千次阅读 2017-05-17 12:02:28
    这两种代码格式之间的转换网上有很多的文章,都写的很详细, 但是从网上找相关的工具,发现不是很好用,举个...对于utf-8转gb2312,因为utf8的字符集要大于gb2312,所以要去除一些特殊字符才能成功转换为gb2312,把要去
  • GB2312入门

    2018-09-27 10:32:01
    区位码是四位的十进制数字,是GB2312国标码中的分区表示方法,区位码的前两位数是“区号”,后两位数是“位号”。区号和位号分别加上160,再分别转换成十六进制数,就成为四位的十六进制GB2312国家标准编码(简称...
  • GB 2312 编码

    千次阅读 2018-07-05 15:50:23
    GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。基本集共收入汉字6763个和非汉字图形字符682个。整个...
  • GBK与GB2312

    千次阅读 2018-12-01 11:26:15
    GBK也是一个字符集,是GB2312的扩充(K是“扩”的拼音缩写),包含21003个汉字,兼容GB2312(也就是说这21003个汉字是包括GB2312的6763个汉字的)。 在视频教程中,通常把这6763字称为“常用字”,而将包含在GBK而...
  • GB2312简体中文编码表

    万次阅读 2017-10-26 14:59:39
    更多关注: https://github.com/chanhal ... 原文:http://tools.jb51.net/table/gb2312 GB2312简体中文编码表 GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 231...
  • response....charset=gb2312"); request.setCharacterEncoding("gb2312"); response.setCharacterEncoding("gb2312"); 我设置了这句中文变问号,web.xml里面的第一行改成gb2312或者GB2312也都没有用
  • 今天在.Net Core中对外网新闻进行爬虫抓取,最初抓取到的新闻中出现了乱码,后来通过GB2312进行了编码,结果报错“Unhandled Exception: System.ArgumentException: 'GB2312' is not a supported encoding name....
  • 汉字GB2312编码字符集

    千次阅读 2019-04-22 18:19:52
    GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。整个字符集分成94个区,每区有94个位...
  • Mac 安装仿宋GB2312 For Word/WPS

    千次阅读 2020-03-19 19:38:18
    学校论文要求字体使用仿宋GB2312,Mac上没有GB2312,模板上虽然现实GB2312但实际上用的是比较接近的一个字体。 但是因为某些原因GB2312字体没安装上,后来又执行sudo atsutil databases -remove清理了系统字体缓存,...
  • GB2312

    万次阅读 2011-07-12 15:12:18
    GB2312概述GB 2312或GB 2312-80是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。GB 2312标准共收录6763个汉字,其中一级汉字3755个...
  • Silverlight GB2312

    千次阅读 2011-11-10 16:24:45
    Silverlight 中默认是不支持GB2312的,需要第三方库支持  http://gb2312.codeplex.com/  Project Description This class is for support GB2312 simplified Chinese characters for Silverlight(include ...
  • 本工具可以根据需要批量将一个目录及其子目录下的所有文件转换为GB2312或Utf-8编码文件,绿色软件,无需安装。 需要.NET Framework v2.0 运行库支持。
  • Python3编码gb2312问题

    千次阅读 2019-03-14 14:12:57
    网页上的编码是gb2312 但是转码时报 'gb2312' codec can't decode byte 0x89 in position 42485: illegal multibyte sequence 将gb2312改为gb18030即可 url = '...
  • .NET Core默认不支持GB2312,使用Encoding.GetEncoding(“GB2312”)的时候会抛出异常。 解决方案是手动安装System.Text.Encoding.CodePages包(Install-Package System.Text.Encoding.CodePages), 然后在Starup.cs的...
  • NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_... 代码是这样, utf8str是nil,应该是因为self.data中有非gb2312的字符导致的, 怎么能解决啊 ,急急急 ,求大腿大神帮助
  • 安装GB2312字符集

    2015-11-19 17:01:07
    Linux下安装GB2312的示例 Step 1: 到Linux字符集的安装包目录下 cd /usr/share/i18n/charmaps Step 2: 解压该目录下的GB2312.gz gunzip GB2312.gz Step 3: 安装字符集  localedef -f GB2312 -i zh_...
  • GBK,GB2312字符集

    千次阅读 2019-08-12 05:59:56
    GBK,GB2312字符集
  • GB2312转unicode

    千次阅读 2016-05-24 15:27:41
    实现2维数值,GB2312编码为递增,适合用二分法查找由GB2312码找Unicode码。 只含基本的汉字,符号未包括。 说明unit16 为16位的无符号整数unsigend short int #typedef unsigned short int uint16;  ...
  • GB2312 字符集

    2019-08-12 05:52:18
    GB2312 字符集 简介 信息交换用汉字编码字符集和汉字输入编码之间的关系是,根据不同的汉字输入方法,通过必要的设备向计算机输入汉字的编码,计算机接收之后,先转换成信息交换用汉字编码字符,这时计算机就可以...
  • XP下仿宋_gb2312 楷体_gb2312

    热门讨论 2009-12-12 16:57:00
    将Windows XP字体文件夹“Fonts”中的“仿宋GB_2312”和“楷体GB_2312”字体文件复制到Vista字体文件夹“Fonts”中。 可以解决在Windows Vista中使用Office2007/2003打开原来写的文章,很多字体不能正常显示,文章...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,588
精华内容 15,835
关键字:

gb2312