精华内容
下载资源
问答
  • c语言汉字

    2012-10-03 17:12:35
    C语言汉字库,通用的。。编写c语言可以调用汉字库文件,然后汉字输出。不用英语了。希望采纳。。
  • C语言汉字编码

    2020-10-13 20:44:39
    C语言汉字编码 一个汉字占用两个字节,单独读取一个字节的ASCII码为负数 因而可以通过判断ASCII码的正负来确定是否为汉字,如果为汉字,则需要每次操作两个字节 将汉字与英文字符分开 #include<stdio.h> #...

    C语言汉字编码

    一个汉字占用两个字节,单独读取一个字节的ASCII码为负数
    因而可以通过判断ASCII码的正负来确定是否为汉字,如果为汉字,则需要每次操作两个字节

    将汉字与英文字符分开

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char str[] = "这是一行汉字,but these are not Chinese character";
    	char chinese[20];
    	int len = strlen(str),i,j=0;
    	for (i = 0; i < len; ++i)
    	{
    		if (str[i] < 0)	//汉字
    		{
    			chinese[j++] = str[i];
    			chinese[j] = str[i + 1];		//此处不能用i++
    		}
    	}
    	chinese[j] = '\0';
    	printf("%s\n",chinese);
    	return 0;
    }
    
    展开全文
  • C语言汉字显示

    2018-08-19 12:24:41
    使用C语言以点阵的方式显示出汉字,压缩包里自带所需要工具文件以及完整代码,新手学习可参考。
  • C语言汉字字库

    2012-02-23 14:31:21
    C语言(turbo C 2.0)中使用的汉字字库
  • 嵌入式C语言汉字显示

    2016-12-14 17:07:49
    本人自己封装在lcd屏幕闪显示汉字的过程,首先要理解汉字显示原理,其次自己实现查找并或者正确的字模顺序,最后按照每个点画出相应的颜色。需要的朋友自己下载下来,有些函数需要修改一下,例如画点函数
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼以下是我本人通过实例得出的结论,没有参照任何参考书。可能有不对的地方。哪里不对,情各位大虾指正。在说明之前,本人编写了一个小代码。#include#includeintmain(){...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    以下是我本人通过实例得出的结论,没有参照任何参考书。可能有不对的地方。

    哪里不对,情各位大虾指正。

    在说明之前,本人编写了一个小代码。

    #include

    #include

    int main()

    {

    char a[10];

    strcpy(a,"你好吗");

    for(int i=0;i<10;i++)

    printf("%X  ",(unsigned char)a[i]);

    printf("\n");

    puts(a);

    printf("\n");

    return 0;

    }

    大家可以调试运行一下。

    输出结果是。

    C4  E3  BA  C3  C2  F0  0  CC  CC  CC

    你好吗

    Press any key to continue

    字符串a中存放了3个汉字,每个char是占用一个字节。

    在C语言中汉字采用的是gb2312编码,每个汉字占两个字节。

    printf("%X  ",(unsigned char)a[i]);

    输出了每个char地址存放的数据的16进制码。

    两个char地址存放一个汉字。

    所以

    你=====C4  E3

    好=====BA  C3

    吗=====C2  F0

    最后由于是一个字符串。在该字符串的结尾又另外存放了一个\0,表示字符串结束。

    程序开头声明了char a[10];十个字符空间。

    对于没有存放数据的3个char空间默认存放了CC。

    a[0]表示的是“你”的gb2312编码的高八位

    a[1]表示的是“你”的gb2312编码的低八位

    a[2]表示的是“好”的gb2312编码的高八位

    a[3]表示的是“好”的gb2312编码的低八位

    a[4]表示的是“吗”的gb2312编码的高八位

    a[5]表示的是“吗”的gb2312编码的低八位

    a[0]表示的是“\0”的gb2312编码的ASCCII编码

    其实gb2312兼容是ASCII编码。对于英文字符和中文字符同时具有的字符串。

    请看下面这个例子。

    #include

    #include

    int main()

    {

    char a[20];

    strcpy(a,"你好吗mylove");

    for(int i=0;i<20;i++)

    printf("%X  ",(unsigned char)a[i]);

    printf("\n");

    puts(a);

    printf("\n");

    return 0;

    }

    输出结果

    C4  E3  BA  C3  C2  F0  6D  79  6C  6F  76  65  0  CC  CC  CC  CC  CC  CC  CC

    你好吗mylove

    从输出结果中我们可以看出总共使用了13个字节。

    其中“你好吗”占用6个字节

    “mylove”占用6个字节。

    字符串结束符占用1个字节。。

    这样大家对C语言中汉字的存储是不是很清晰的了解了呢?

    下面看C语言中汉字的输入。

    在头文件#include

    中的gets()可以实现汉字的输入。同样是gb2312码的输入。gb2312兼容了ASCII编码。

    好了,就写这些了。我的QQ号 791808990

    换用大家来交流。

    展开全文
  • C语言汉字采用的是gb2312编码,每个汉字占两个字节。 printf("%X ",(unsigned char)a[i]); 输出了每个char地址存放的数据的16进制码。 两个char地址存放一个汉字。 所以 你=====C4 E3 好=====BA C3 吗=====...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    以下是我本人通过实例得出的结论,没有参照任何参考书。可能有不对的地方。

    哪里不对,情各位大虾指正。

    在说明之前,本人编写了一个小代码。

    #include

    #include

    int main()

    {

    char a[10];

    strcpy(a,"你好吗");

    for(int i=0;i<10;i++)

    printf("%X  ",(unsigned char)a[i]);

    printf("\n");

    puts(a);

    printf("\n");

    return 0;

    }

    大家可以调试运行一下。

    输出结果是。

    C4  E3  BA  C3  C2  F0  0  CC  CC  CC

    你好吗

    Press any key to continue

    字符串a中存放了3个汉字,每个char是占用一个字节。

    在C语言中汉字采用的是gb2312编码,每个汉字占两个字节。

    printf("%X  ",(unsigned char)a[i]);

    输出了每个char地址存放的数据的16进制码。

    两个char地址存放一个汉字。

    所以

    你=====C4  E3

    好=====BA  C3

    吗=====C2  F0

    最后由于是一个字符串。在该字符串的结尾又另外存放了一个\0,表示字符串结束。

    程序开头声明了char a[10];十个字符空间。

    对于没有存放数据的3个char空间默认存放了CC。

    a[0]表示的是“你”的gb2312编码的高八位

    a[1]表示的是“你”的gb2312编码的低八位

    a[2]表示的是“好”的gb2312编码的高八位

    a[3]表示的是“好”的gb2312编码的低八位

    a[4]表示的是“吗”的gb2312编码的高八位

    a[5]表示的是“吗”的gb2312编码的低八位

    a[0]表示的是“\0”的gb2312编码的ASCCII编码

    其实gb2312兼容是ASCII编码。对于英文字符和中文字符同时具有的字符串。

    请看下面这个例子。

    #include

    #include

    int main()

    {

    char a[20];

    strcpy(a,"你好吗mylove");

    for(int i=0;i<20;i++)

    printf("%X  ",(unsigned char)a[i]);

    printf("\n");

    puts(a);

    printf("\n");

    return 0;

    }

    输出结果

    C4  E3  BA  C3  C2  F0  6D  79  6C  6F  76  65  0  CC  CC  CC  CC  CC  CC  CC

    你好吗mylove

    从输出结果中我们可以看出总共使用了13个字节。

    其中“你好吗”占用6个字节

    “mylove”占用6个字节。

    字符串结束符占用1个字节。。

    这样大家对C语言中汉字的存储是不是很清晰的了解了呢?

    下面看C语言中汉字的输入。

    在头文件#include

    中的gets()可以实现汉字的输入。同样是gb2312码的输入。gb2312兼容了ASCII编码。

    好了,就写这些了。我的QQ号 791808990

    换用大家来交流。

    展开全文
  • ***************************************************************************** 题目: C语言中两位ASCII码可以表示汉字(如202,214表示手)请问两位ASCII怎么与GB2312中的区位码相对应 “啊”是国标码中的第一个...

    ********************************************************

    现在开始分析:

    资料一说:

    “206 210 176 174 214 236 187 219 ” 是 ASCII码 , 编辑成中文是“我爱朱慧”。

    写成代码:

    #include

    int main(void)

    {

    printf("%c%c%c%c%c%c%c%c",206,210,176,174,214,236,187,219);

    printf("

    ");

    return 0;

    }

    运行结果:

    6581ce2e4d8385eb750be4a37544402c.png

    看到这里,好像明白了。

    汉字是双字节,且两个数字可以 编码一个汉字。

    总结下就是:

    206+210=我

    176+174=爱

    214+236=朱

    187+219=慧

    呵呵,到这里就没必要再深究啦。

    可是,突发奇想,想找到用哪两个数字可以组合出“你”字?

    想搞出“我爱你”编码!嘿嘿。

    于是,我进行了大量测试。没办法,不是很懂这个,只好用循环来做啦。

    编写代码如下。

    测试发现129到247有编码汉字,其余范围无法编码成汉字。

    测试代码一:

    #include

    int main(void)

    {

    int i;

    for(i=129;i<=247;i++)

    printf("%d+%d=%c%c",i,i,i,i);

    printf("

    ");

    return 0;

    }

    运行结果:

    0bb0328b15b3848e92e3bbedd79a4b54.png

    测试代码二:

    #include

    int main(void)

    {

    int i;

    for(i=129;i<=247;i++)

    printf("%d+%d=%c%c",i,i+1,i,i+1);

    printf("

    ");

    return 0;

    }

    运行结果:

    3feac7fce9a5017d7ccb56238aa175f2.png

    测试代码三:

    #include

    int main(void)

    {

    int i;

    for(i=129;i<=247;i++)

    printf("%d+%d=%c%c",i,i+2,i,i+2);

    printf("

    ");

    return 0;

    }

    1e14b63072de39044a506170652e149d.png

    ......

    以此类推,测试了几组代码后总结如下:

    206+210=我

    176+174=爱

    184+184=父

    208+208=行

    193+193=亮

    183+183=贩

    198+198=破

    131+131=傻

    188+188=技

    177+177=北

    180+180=创

    181+181=档

    182+182=抖

    185+185=构

    186+186=汉

    187+187=换

    191+191=靠

    196+196=哪

    195+195=妹

    202+202=适

    197+197=排

    200+200=热

    214+214=种

    199+199=乔

    213+213=照

    199+199=乔

    204+204=烫

    192+192=览

    180+181=吹

    181+182=刀

    176+177=氨

    204+205=掏

    206+207=蜗

    192+193=懒

    187+188=患

    182+183=斗

    185+186=购

    190+191=究

    191+192=坷

    197+198=牌

    180+181=吹

    183+184=犯

    193+194=谅

    194+195=旅

    198+199=魄

    199+200=侨

    203+204=颂

    206+207=蜗

    207+208=闲

    208+209=醒

    209+210=岩

    176+178=安

    177+179=背

    178+180=泊

    179+181=车

    180+182=炊

    183+185=饭

    184+186=负

    185+187=够

    186+188=杭

    187+189=唤

    188+190=季

    190+192=纠

    195+197=门

    198+200=迫

    199+201=巧

    200+202=仁

    201+203=伤

    203+205=送

    204+206=涛

    205+207=拖

    208+210=幸

    210+212=以

    211+213=诱

    212+214=灾

    213+215=兆

    214+216=重

    215+217=踪

    176+179=俺

    177+180=贝

    178+181=驳

    181+184=蹈

    182+185=豆

    183+186=泛

    184+187=富

    185+188=辜

    186+189=航

    193+196=聊

    194+197=屡

    195+198=闷

    196+199=那

    200+203=人

    201+204=商

    202+205=释

    203+206=宋

    209+212=言

    210+213=艺

    211+214=又

    212+215=宰

    217+220=余

    176+180=按

    178+182=捕

    179+183=撤

    181+185=倒

    182+186=逗

    188+192=祭

    195+199=们

    197+201=派

    200+204=忍

    201+205=赏

    202+206=饰

    212+216=载

    213+217=召

    214+218=众

    177+182=倍

    181+186=岛

    183+188=芳

    214+219=舟

    215+220=总

    212+217=再

    210+215=易

    208+213=姓

    207+212=显

    190+185=久

    176+182=岸

    180+186=春

    182+188=都

    183+189=方

    200+206=任

    201+207=上

    找了半天都没找到“你”,汗,真的累了。

    又百度,看看有没有好的其他便捷的方法。

    搜索了半天,终于找到了资料二。

    *****************************************************************************

    题目:

    C语言中两位ASCII码可以表示汉字(如202,214表示手)请问两位ASCII怎么与GB2312中的区位码相对应

    “啊”是国标码中的第一个是1601,用ASCII码怎么表示它

    答案:

    #includeint main(void)

    {

    char s[]="啊";//汉字在C/C++中是用2个字节表示的,而对应的ASCII码则是两个负数。

    char m[3];

    printf("%d %d

    ",s[0],s[1]); /*注释 s[0]=-80,s[1]=-95 注释*/

    m[0]=-80;

    m[1]=-95;

    m[2]=0;

    puts(m);//两个字节连起来凑成一个汉字。

    }

    运行结果:

    c654b5ccdb8924fbb4d6ccfcf1cc0b06.png

    *********************************************************************************************************

    于是,我模仿资料二,找出汉字”你“的编码。

    编写下列代码:

    #include

    int main(void)

    {

    char s[]="你";//汉字在C/C++中是用2个字节表示的,而对应的ASCII码则是两个负数。

    char m[3];

    printf("%d %d

    ",s[0],s[1]);

    m[0]=-60;

    m[1]=-29;

    m[2]=0;

    puts(m);//两个字节连起来凑成一个汉字。

    return 0;

    }

    运行结果:

    d09b3217a49fc37babca6ea9bbf07559.png

    再修改代码:

    #include

    int main(void)

    {

    char s[]="你";//汉字在C/C++中是用2个字节表示的,而对应的ASCII码则是两个负数。

    char m[3];

    printf("%c%c

    ",s[0],s[1]);

    m[0]=-60;

    m[1]=-29;

    m[2]=0;

    puts(m);//两个字节连起来凑成一个汉字。

    return 0;

    }

    运行结果:

    3533a18ecf80a45fae63987220638fbe.png

    好了,大功告成了!哈哈,终于搞出来了。

    最终完善代码:

    方法一:

    #include

    int main()

    {

    int i;

    printf("%c%c%c%c%c%c

    ",206,210,176,174,-60,-29);

    return 0;

    }

    感谢zhykin前辈提供的第二种方法:

    #include

    intmain()

    {inti;

    printf("%c%c%c%c%c%c",206,210,176,174,196,227);return 0;

    }

    运行结果:

    6feef2f674673637088ee4699f6399f7.png

    今天上博客,发现犯了低级错误,很抱歉,手误,把I写成了L。

    还有很感谢各位前辈的指点和教诲,在下定当虚心努力改进。

    感谢zhykin前辈的指教,一语惊醒梦中人,使我对这个编码了解的更深了。

    这里引用“zhykin”前辈的话总结下:

    都是字符256余数的关系,“我”可以表示成206,210,也可以表示成-50,-46;同理“你”也可以是196,227。

    “我”可以用206,210表示也可以用-50,-46表示。

    “你”可以用196,227表示也可以用-60,-29表示.

    再次对zhykin前辈表示衷心的感谢!

    汗,刚一好友提醒了下,再次发现问题,原来以上都是我的误解,对此表示抱歉。

    这原来是GBK编码。

    GBK汉字编码表:

    比如:“命”的GBK编码为:0xC3,0xFC

    d94708007f87e53a2d3cbdf7bd76df31.png

    证明代码:

    #include

    intmain()

    {inti;

    printf("%c%c",0xC3,0xFC);return 0;

    }

    运行结果如下:

    d057608ce7ceff6bb4bae35b96446d82.png

    在下学艺不精,对此误导了大家,造成错误影响深感抱歉!

    在此公开表示道歉!

    最后奉上一个软件小工具,可以定制你的专属表白代码

    5993de1d3f18c4dfc2b22e7a99105304.png

    展开全文
  • Linux下C语言汉字逆置

    2016-12-05 23:44:07
    Linux下UTF-8编码的汉字,一个汉字占3个字节,代码如下:(GBK编码思路一致)#include #include <stdlib.h>int main() { char arr[] = "好好学习,天天向上"; int len = 0; // 字符串长度 while(arr[len++]); ...
  • C语言 汉字ASCII转Unicode

    千次阅读 2017-04-21 15:39:37
    以下代码取自ZNFAT的函数,本示例程序仅作转码示例,对部分代码进行了修改。可作为单片机转码之用。运行环境VC++6.0供参考 // ASCII转UNICODE.cpp : Defines the entry point for the console application. ...
  • C语言汉字处理

    2007-11-10 03:34:16
    嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能。例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能;一个提供汉字显示功能的空调的LCD上不需要显示一条"短...
  • 可以把此程序写成自己的函数... 在程序中直接调用此函数即可以随时实现汉字的显示
  • 统计给定文本文件中汉字的个数。 Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。 Output 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。  [Hint:]从汉字机内码的...
  • C语言汉字转拼音和国标的源程序

    热门讨论 2008-12-05 17:31:29
    C语言编写,在microsoft visual studio 6.0下运行通过,将UNICODE编码转为拼音和GB的源代码
  • 基于单片机的实时时钟的设计 Proteus仿真原理图 keil源文件 C语言源程序 显示与平时常见的完全一样: 2010年06月14日 15:34:35 星期一
  • C语言汉字gbk转utf-8

    万次阅读 2013-07-20 02:15:48
    1.请注意汉字内码和具体某个编码格式下的汉字的区别!!!!该问题导致我们程序调试了差不多一整天! 2.另外库函数iconv会把传入的参数指针移位,这是正常的、轻不要认为是自己程序有问题。 3.我的终端是utf-8格式,...
  • :c语言汉字转化成二进制代码

    千次阅读 2013-07-29 08:18:01
    ********************************************************** *********************************************************** #include ...汉字转化成二进制码  */ void conv(char *c) {  
  • 常用的字符编码有以下三种:1、ASCII 只支持英文,全部为8位2、DBCS 支持英文和中文,但中文需要两个字节(16位)3、UNICODE 支持英文和中文,英文...而汉字的编码目前有GB2312-1980和GB18030-2000,GB2312就是DBCS...
  • 首先从熟悉的ASCII编码说起 基本ASCII 编码一共7位,2^7=128个,对于英文26个字母那是绰绰有余...在VC中 汉字是使用GB2312编码来存储的,GB2312就是2Byte表示一个汉字 进入VC反汇编一下  char name[10]="你好谁啊";
  • C语言输出汉字

    千次阅读 2019-09-05 15:15:58
    int main() { ... wchar_t arr[] = L"以为可以输出汉字"; wchar_t arr0[] = {L'零', L'壹'}; wchar_t *arr1[] = {L"零啊啊", L"壹啊啊"}; wprintf(L"%s\n", arr); wprintf(L"%c\n", arr[0]); wprintf(...
  • C语言点阵汉字16x16

    2014-10-28 13:53:54
    C语言点阵汉字16x16,可移植到单片机上。
  • C语言读取汉字库文件,找出汉字信息的示例,汉字库文件后缀为.FON
  • C语言输出汉字的源码

    2011-12-10 09:53:07
    C语言能输出任意的汉字的cpp源码。。
  • C语言嵌入汉字技术[1].pdfC语言嵌入汉字技术[1].pdfC语言嵌入汉字技术[1].pdfC语言嵌入汉字技术[1].pdf
  • c语言处理汉字转.pdf

    2020-06-08 18:10:59
    在 c 语言编写程序时难免会涉及到汉字的问题汉 字的存储方式不同于普通字符在不同的平台上或 编译环境中点有不同的字节时既然不是单字符如 果有存储使用汉字自然就想到使用字符串 通常用户可以使用 strlen" 中文)来...
  • C语言读取汉字字模

    千次阅读 2016-01-13 23:40:18
    感谢的博主的文章! 前不久,在网上看到一个生成点阵字的网站。觉得很有意思! 到底什么是点阵字,点阵字和字模之间有什么关系?...让我们先看一个点阵汉字和一个英文字母:  **   ******************
  • C语言编写一个汉字显示与放大程序,设计完成一个能够从字库文件中调出汉字点阵信息并把它显示放大的程序,该程序能够根据需要放大倍数,显示在屏幕上。 使用UCDOS下的基本汉字库(16点阵)和graphic.h库中的作图...
  • #include<stdio.h> #include<string.h> int main() { char a[] = "汉"; int sz1 = sizeof("汉"); int sz2 = strlen("汉"); int sz3 =...}

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,200
精华内容 480
关键字:

c语言汉字

c语言 订阅