韩国大学世界排名2015:[C VC] iconv库的使用 - 毛C毛Py的专栏 - CSDN博客22

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 23:39:27

 [C++ VC] iconv库的使用收藏

GB2312字符串转换为UTF-8的字符串,代码如下:
#include
#include
#include


int main(void)
{
    unsigned char *src = "魅影追击和歌姬"; /* 需转换的字串 */
    unsigned char dst[256] = {0}; /* 转换后的内容 */
    unsigned char buf[1024] = {0}; /* 格式化转换后的字串 */
    size_t src_len = strlen(src);
    size_t dst_len = sizeof(dst);
    unsigned char *in = src;
    unsigned char *out = dst;
   
    iconv_t cd;
    int i; 
    int j; 
   
    cd = iconv_open("UTF-8", "GB2312"); /* 将GB2312字符集转换为UTF-8字符集 */
    if ((iconv_t)-1 == cd)
    {
        return -1;
    }

    printf("src: %s\n", src);
    iconv(cd, &in, &src_len, &out, &dst_len); /* 执行转换 */

    /* 以下将转换后的内容格式化为: %XX%XX...形式的字串 */
    printf("dst: ");
    j = 0; 
    for (i = 0; i < strlen(dst); i++)
    {
        printf("%.2X ", dst[i]);
        buf[j++] = '%';
        snprintf(buf + j, 3, "%.2X", dst[i]);
        j += 2;
    }
    printf("\n");
    printf("buf: %s\n", buf);
   
    iconv_close(cd); /* 执行清理 */
    return 0;
}
 
[C VC] iconv库的使用 - 毛C毛Py的专栏 - CSDN博客22 C 中Reference与指针(Pointer)的使用对比 - wu928320442的专栏 - CSDN博客 vc++ - lonelytreebjfu的专栏 - CSDN博客 VC 皮肤库 - lchunli的专栏 - CSDN博客 C#处理文本文件的常用操作(转) - sluggard的专栏 - CSDN博客 C2连续的三次B样条插值(c++) - coolend的专栏 - CSDN博客 Linux C 编程 实现彩色文字输出 - wesleyluo的专栏 - CSDN博客 使用 glaux 显示 - bbbbbbj的专栏 - CSDN博客 Dom4j 使用简介 - ShaHuShaBoJue的专栏 - CSDN博客 vc程序调用别人的dll报错的原因分析 - cay22的专栏 - CSDN博客 用 VC 获取其它运行中程序的命令行参数 - wonsoft的专栏 - CSDN博客 malloc与free是C /C语言的标准库函数,new/delete是C 的运算符。它们都可用于申请动态内存和释放内存 - ckaimnet的专栏 - CSDN博客 bbbbbbj的专栏 - CSDN博客 Linux下动态库静态库的使用 - mayqlzu的专栏 - CSDN博客 JNI性能测试一—JNI调用C与Java调用java性能比较 - zgjxwl-----传说中晨雨的专栏 - CSDN博客 VC 中预处理指令与宏定义的妙用(2)## 连接符与# 符 - wangwpf的专栏 - CSDN博客 ASCII码表 - heruibin的专栏 - CSDN博客 tcp cwnd - linweixuan的专栏 - CSDN博客 RTMP是什么 - Thinkor2k8的专栏 - CSDN博客 手机知识 - whpeace的专栏 - CSDN博客 指针Guide - chinahai的专栏 - CSDN博客 数据库触发器 - chinayuan的专栏 - CSDN博客 中国式管理 - wmnothing的专栏 - CSDN博客 IE捉迷藏 - bluesqsr的专栏 - CSDN博客