`
kulinglei
  • 浏览: 98714 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux c 的编码转换

阅读更多
把utf-8转换成gbk,
utf-8是用变长的字节表示汉字,gbk是用两个字节表示汉字(区位码表示)

应用:把utf-8转换成gbk,并取出区位码

#include
#include
#include
#include
#define MAXLEN 32000

int main(){


char * str="中";

char outstr[255];
char * out=outstr;

iconv_t cd;
cd=iconv_open("gbk","utf8");

int len,outlen;
len=strlen(str);
outlen=255;
printf("str len is :%d\n",len);
printf("outlen is %d\n",outlen);

if(cd==(iconv_t)-1){

printf("cd ==-1");

exit(-1);
}

printf("1\n");


size_t iconvre=iconv(cd,
( char **)&str , (size_t *)&len,
(char **) &out , (size_t *)&outlen );

if(iconvre==(size_t)-1){

iconv_close(cd);
printf("iconv ==-1");
exit(0);

}
printf("2\n");
iconv_close(cd);
printf("outstr is :%s\n",outstr);
printf("outstr len is:%d\n",strlen(outstr));
int i;
for( i=0;i<2;i+=2){
int pm=(unsigned char )outstr[i];
int wm=(unsigned char )outstr[i+1];
printf("pm is %d\n",pm);
printf("wm is %d\n",wm);

}



} 

分享到:
评论

相关推荐

    linux C 汉字串与utf-8串相互转化代码

    linux C/c++ 源代码,将中文字串与UTF-8格式字串相互转化,我在项目中使用的代码,完全可用

    UNIX/LINUX下C语言中文短信UCS2编码和解码函数源码

    发送中文短信,会用到UCS2编码,很多网友反应中文发送和接收乱码,这个烦恼可以解决了。 注意:要在系统配置里增加 LANG=zh_CN.GB18030 export LANG 语言配置不对,这个函数会出错的,另外,例子有点问题,换一个...

    文件编码批量转换工具(不用积分)

    支持所有文本格式的文档(如 txt,js,css,java,c..),二进制或程序(如word,excel,exe文件)不要使用本转换工具,因为是JAVA程序 需要你的机器上已经安装了JDK 使用方法: 1,打开start.sh文件,windows用户把扩展名.sh...

    基于Linux 图像与BASE64编码互转.zip

    基于Linux操作系统下 图像与BASE64编码互转,图像BASE64数据编码的加/解密

    utf-8/utf-16转换代码完整版

    最近需要对Linux与Windows平台下的字符传输出现乱码,对字符编码作了深究。参考了网上的UTF-8/UTF-16转换的资料,只有0x10000以下的Unicode编码进行了转换;对其代码进行了修改和补充,可以实现所有的UTF-8/UTF-16的...

    文件编码转换脚本 v2.0 — 解决Source Insight等显示中文乱码

    解决Source Insight 等中文乱码问题:在Linux下执行此脚本,可以将 utf-8 或 gkb 等编码文件(可任意添加) 转换为 gb18003(可任意修改为其他) 编码文件。 特点:此脚本会递归地转换所在目录及子目录下的所有 .c...

    fearhacker用c写的linux系统下的INI配置文件管理程序(读操作)

    在LINUX系统下,并没有合适的INI文件读取函数。fearhacker因为工作需要写...该程序利用C语言编码,主要采用到的技术知识有,二维数组,二维数组指针,结构体,字符串指针,强制类型转换,动态内存的开辟、使用、销毁。

    win编码转换_iconv.h

    在Linux下有个iconv.h头文件,里面是对编码转换处理的封装。但在windows下是没有这个头文件的。这里有三个文件,高手编写,用在windows下:iconv.h,iconv.dll和iconv.lib,导出库,就可以用iconv.h了。用法与Linux下...

    mac地址的byte和string转换

    mac地址的byte和string间的转换java类

    Unicode和中文的相互转换(C++代码)

    Unicode和中文的相互转换——VS2019的C++控制台项目(x64\x86\Debug\Release已编译) 1. bool ChineseToUnicode(CString cstr, string & str); 望断秋高和待雪初平__ChineseToUnicode:\u671b\u65ad\u79cb\u9ad8\u...

    linux_c API函数大全

    LINUX C函数库API 1.字符测试篇 15 1.1 15 isalnum(测试字符是否为英文或数字) 15 1.2 15 isalpha (测试字符是否为英文字母) 15 1.3 16 isascii(测试字符是否为ASCII 码字符) 16 1.4 17 iscntrl(测试字符是否...

    Linux 字符编解码

    Linux下字符编解码转换,支持unicode与utf8直接的相互转换,以及其他编码方式的相互直接转换。

    一些常用编码转换的C源码,更多详见openssl项目。.zip

    操作系统:LInux、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信...

    UTF-8 UNICODE GBK 相互转换C源码

    在VS2005下正常编译通过 UTF-8 TO UNICODE 相互转换C源码 UTF-8 TO GBK 相互转换C源码 GBK TO UNICODE 相互转换C源码

    多字节与UTF-8、Unicode之间的转换

    多字节与UTF-8、Unicode之间的转换 ,里面有相互转换的6个函数 ,稍微修改下可以加到自己的c++程序中,比较好用

    GB2312与UTF-8互转程序,包含源代码,MAKEFILE,及最终库,百分百直接使用

    GB2312与UTF-8互转程序,包含源代码,MAKEFILE,及最终库,百分百直接使用

    嵌入式系统/ARM技术中的Linux系统下的压片转换工具Mencoder应用

    首先,确定你的系统内码是中文编码,如GB2312,GBK。如果不清楚,请在终端下输入locale查看,不是就修改。这里,我提供在Suse下的修改方法:启动Yast2控制中心,打开“系统”——&gt;“/etc/sysconfig编辑器”,展开...

    Linux tcpdump命令用法详解

    Linux tcpdump命令 Linux tcpdump命令用于倾倒网络传输数据。 执行tcpdump指令可列出经过指定网络界面的数据包文件头,在Linux操作系统中,你必须是系统管理员。...-dd 把编译过的数据包编码转换成C语言的格式,并倾

    在VMWare中安装Redhat Linux虚拟机教程(傻瓜教程)

    由Red Hat Linux 8.0开始,UTF-8成为了系统预设的字元编码设定。这对於英语用户来说无甚影响,但当用到ISO/IEC 8859-1字元集的较高位置字元时,编码方式则完全不同。对於部分法语或瑞典语的用户来说,这是一个冒犯...

    binutils-2.21.1-mips32r1-linux-static.tar.gz

    c ++ filt-过滤以解编码编码的C ++符号。 dlltool-创建用于构建和使用DLL的文件。 gold-一个新的,更快的,仅ELF的链接器,仍处于beta测试中。 gprof-显示分析信息。 nlmconv-将目标代码转换为NLM。 nm-列出...

Global site tag (gtag.js) - Google Analytics