相信大家应该都知道,汉字经过utf-8后转码会变成一串字串,其中以/分割,如:\xE7\x98\x91............,其中每三个/(十六进制)代表一个汉字,也就是一个汉字转换为了三个字节。

一般情况下,我们只需要复制这段字串,初始化到一个指针,在做输出就可以显示相应的汉字,这是因为在这段初始化过程中,已经自动将/识别(认为是十六进制),并将每个十六进制放入一个字节中,这样就可以正常的显示汉字,但是有时候我们通过一些别的方式来截取的字段,直接输出是无法获得这种效果的,因此就需要我们做一些转换来将其显示出来。

首先我们要明白,我们现在需要做的就是将每个/后面相应的字串改为十六进制,然后在将其以一个字节的方式存入数组中,理解了这种方式自然就很容易写出来了。

请看下面函数:

static char *stohex(const char *buf)

{

char src[2048] = {0};

char buf_temp[20148] = {0};

int x = 0;

unsigned long i;

while(*buf != '\0')

{

if(*buf == '\\')

{

strcpy(buf_temp,buf);

*buf_temp = '0';

*(buf_temp + 4) = '\0';

i = strtoul(buf_temp, NULL, 16);

src[x] = i;

buf += 3;

}

else

{

src[x] = *buf;

}

x++;

buf++;

}

src[x] = '\0';

return src;

}

这个函数的主要功能就是实现了这个转换,理解原理实现起来就很简单。

c语言 文件编码转换为字符串,c语言下汉字转换(字符串改为utf-8编码)相关推荐

  1. c语言文件有什么作用,C语言文件的使用方法

    C语言文件的使用方法 C语言文件的使用方法:所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件 ...

  2. Python使汉字转换成url可识别的编码

    将汉字转换成url可识别的编码,在爬虫时可根据输入的汉字,转换成url可识别的链接,如'新能源'转换后是'%E6%96%B0%E8%83%BD%E6%BA%90':'爬虫工程师'转换后为%E7%88% ...

  3. C语言入门教程||C语言 文件读写||C语言 预处理器

    C语言 文件读写 本章我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层 ...

  4. c语言文件可用代码存放,C语言 文件(示例代码)

    小白一个,看到有错误,希望指出,万分感谢 /**************************************************************** C语言文件概述: 一般文件 ...

  5. c语言文件指针ab命令,C语言试题,~库(完整版~).doc

    -_ C语言试题库 单项选择 C语言概述 一个C程序的执行是从 A.本程序的MAIN函数开始,到MAIN 函数结束. B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. C.本程序的MA ...

  6. C语言 文件读写 fputs 函数 - C语言零基础入门教程

    目录 一.fgets 函数简介 二.fgets 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fgets 函数简介 fge ...

  7. C语言 文件读写 fputc 函数 - C语言零基础入门教程

    目录 一.fputc 函数简介 二.fputc 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fputc 函数简介 fpu ...

  8. C语言 文件读写 fseek 函数 - C语言零基础入门教程

    目录 一.fseek 函数简介 二.fseek 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fseek 函数简介 fse ...

  9. C语言 文件读写 ferror 函数 - C语言零基础入门教程

    目录 一.ferror 函数简介 二.ferror 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.ferror 函数简介 ...

  10. c语言把数字转换为字母,c语言输入数字变成字母

    本文收集整理关于c语言输入数字变成字母的相关议题,使用内容导航快速到达. 内容导航: Q1:c语言输入数字输出字母代码求解释 void main() { int a[100],n,i;定义一个整数数组 ...

最新文章

  1. Network | sk_buff
  2. 2018冬令营模拟测试赛(九)
  3. 凉凉夜色为我思念成河
  4. Flink中的容错机制
  5. MarckDown学习
  6. php清空session值_php注销session变量和销毁session详细分析
  7. 知行功夫为本,找对心中的英雄,过好平凡的生活
  8. reviewboard mysql_【ReviewBoard】安装与配置
  9. (全过程)如何制作论坛网站,怎样免费制作论坛,制作论坛教程
  10. 透明图片怎么发给别人_怎么用秀米写公众号文章
  11. Web前端大作业——城旅游景点介绍(HTML+CSS+JavaScript) html旅游网站设计与实现
  12. Linux网络技术学习(二)—— net_device数据结构解析
  13. 声纹识别demo_语音识别、声纹识别的区别及测试
  14. 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(四):图像分类笔记(上)
  15. javaweb学生签到考勤请假系统
  16. 模板的超详细的案例讲解(上)
  17. 清华计算机2020保研,清华大学2020届保研情况
  18. c语言中要求对象只能为整数的运算符是,以下正确的叙述是( ) 答案:在C程序中, %是只能用于整数运算 的运算符...
  19. 为了练好口语,你敢不敢每天读一遍,坚持一个月?
  20. Polkit (简体中文)

热门文章

  1. 新一代安全运营中心体系
  2. 计算机云的使用方法,云电脑教程:云电脑怎么用?
  3. 奇虎360_2017校园招聘笔试编程题第一题
  4. S32K144之ADC
  5. cocos2dx 植物大战僵尸 18 土豆雷
  6. 微信智慧商圈-java-springBoot实例
  7. oracle怎么查看表的唯一约束,查询(看)表的主键、外键、唯一性约束和索引
  8. 【密码学原理】数字签名(ElGamal签名,Schnorr签名,椭圆曲线签名,RSA-PSS签名)
  9. Java随机生成验证码
  10. 智能制造并非只是自动化