linux 字符串编码转换
1 #include <iconv.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 6 //***************************************************************** 7 #define buf_length 128 8 # define UTF_8 "utf-8" 9 #define GB2312 "gb2312" 10 //***************************************************************** 11 int code_convert_process(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen){ 12 iconv_t cd; 13 int rc; 14 char **pin = &inbuf; 15 char **pout = &outbuf; 16 cd = iconv_open(to_charset,from_charset); 17 if (cd==0) return -1; 18 memset(outbuf,0,outlen); 19 if (iconv(cd,pin,&inlen,pout,&outlen)==-1) return -1; 20 iconv_close(cd); 21 return 0; 22 } 23 24 #define UTF8_to_GB3212(in_buf,in_len,out_buf,out_len) code_convert_process(UTF_8,GB2312,in_buf,in_len,out_buf,out_len) 25 #define GB3212_to_UTF8(in_buf,in_len,out_buf,out_len) code_convert_process(GB2312,UTF_8,in_buf,in_len,out_buf,out_len) 26 //***************************************************************** 27 int main(void){ 28 char in_buf[buf_length] = "jikexianfeng@极客先锋"; 29 char out_buf[buf_length]; 30 UTF8_to_GB3212(in_buf,strlen(in_buf),out_buf,buf_length); 31 //GB3212_to_UTF8(in_buf,strlen(in_buf),out_buf,buf_length); 32 33 return 0; 34 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决