c语言 文件编码转换为字符串,c语言下汉字转换(字符串改为utf-8编码)
相信大家应该都知道,汉字经过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编码)相关推荐
- c语言文件有什么作用,C语言文件的使用方法
C语言文件的使用方法 C语言文件的使用方法:所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件 ...
- Python使汉字转换成url可识别的编码
将汉字转换成url可识别的编码,在爬虫时可根据输入的汉字,转换成url可识别的链接,如'新能源'转换后是'%E6%96%B0%E8%83%BD%E6%BA%90':'爬虫工程师'转换后为%E7%88% ...
- C语言入门教程||C语言 文件读写||C语言 预处理器
C语言 文件读写 本章我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层 ...
- c语言文件可用代码存放,C语言 文件(示例代码)
小白一个,看到有错误,希望指出,万分感谢 /**************************************************************** C语言文件概述: 一般文件 ...
- c语言文件指针ab命令,C语言试题,~库(完整版~).doc
-_ C语言试题库 单项选择 C语言概述 一个C程序的执行是从 A.本程序的MAIN函数开始,到MAIN 函数结束. B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. C.本程序的MA ...
- C语言 文件读写 fputs 函数 - C语言零基础入门教程
目录 一.fgets 函数简介 二.fgets 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fgets 函数简介 fge ...
- C语言 文件读写 fputc 函数 - C语言零基础入门教程
目录 一.fputc 函数简介 二.fputc 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fputc 函数简介 fpu ...
- C语言 文件读写 fseek 函数 - C语言零基础入门教程
目录 一.fseek 函数简介 二.fseek 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fseek 函数简介 fse ...
- C语言 文件读写 ferror 函数 - C语言零基础入门教程
目录 一.ferror 函数简介 二.ferror 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.ferror 函数简介 ...
- c语言把数字转换为字母,c语言输入数字变成字母
本文收集整理关于c语言输入数字变成字母的相关议题,使用内容导航快速到达. 内容导航: Q1:c语言输入数字输出字母代码求解释 void main() { int a[100],n,i;定义一个整数数组 ...
最新文章
- Network | sk_buff
- 2018冬令营模拟测试赛(九)
- 凉凉夜色为我思念成河
- Flink中的容错机制
- MarckDown学习
- php清空session值_php注销session变量和销毁session详细分析
- 知行功夫为本,找对心中的英雄,过好平凡的生活
- reviewboard mysql_【ReviewBoard】安装与配置
- (全过程)如何制作论坛网站,怎样免费制作论坛,制作论坛教程
- 透明图片怎么发给别人_怎么用秀米写公众号文章
- Web前端大作业——城旅游景点介绍(HTML+CSS+JavaScript) html旅游网站设计与实现
- Linux网络技术学习(二)—— net_device数据结构解析
- 声纹识别demo_语音识别、声纹识别的区别及测试
- 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(四):图像分类笔记(上)
- javaweb学生签到考勤请假系统
- 模板的超详细的案例讲解(上)
- 清华计算机2020保研,清华大学2020届保研情况
- c语言中要求对象只能为整数的运算符是,以下正确的叙述是( ) 答案:在C程序中, %是只能用于整数运算 的运算符...
- 为了练好口语,你敢不敢每天读一遍,坚持一个月?
- Polkit (简体中文)