zoukankan      html  css  js  c++  java
  • 将gbk字符串转换成utf-8,存储到注册表中后,再次从注册表读取转换成gbk,有问题!!!

        char *a = "新2新";
    
        printf("gbk:'%s'
    ", a);
        int ii;
        for(ii = 0; ii < strlen(a); ii++)
        {
            printf("0x%0x ", (BYTE)a[ii]);
        }
        printf("
    
    ");
    
        char b[1024] = {0};
        size_t tt;
    
        toUTF8(a, b, 1024, &tt);
    
        printf("utf-8:'%s'
    ", b);
        printf("tt:%d
    
    ", tt);
    
        setRegeditConfig_STR(HKEY_CURRENT_USER, REG_SOFT_KEY, key_file_dlg_choose_logo, b, tt + 1);
    
        //int ii;
        for(ii = 0; ii < tt; ii++)
        {
            printf("0x%0x ", (BYTE)b[ii]);
        }
        printf("
    
    ");
    
    
        unsigned long readLen = MAX_PATH;
        char filePath[MAX_PATH] = {0};
        if(getRegeditConfig_STR(HKEY_CURRENT_USER, REG_SOFT_KEY, key_file_dlg_choose_logo, filePath, &readLen))
        {
            printf("filePath:'%s'
    ", filePath);
            printf("len-utf8:%d
    
    ", readLen);
    
            int ii;
            for(ii = 0; ii < readLen; ii++)
            {
                printf("0x%0x ", (BYTE)filePath[ii]);
            }
            printf("
    
    ");
    
            char *p = utf8ToGBK(filePath, &tt);
            printf("filePath-gbk:'%s'
    ", p);
            printf("len-gbk:%d
    ", tt);
    
            //int ii;
            for(ii = 0; ii < tt; ii++)
            {
                printf("0x%0x ", (BYTE)b[ii]);
            }
            printf("
    ");
    
        }
    
        system("pause");
        exit(0);

        char *a = "新新2新";
    
        printf("gbk:'%s'
    ", a);
        int ii;
        for(ii = 0; ii < strlen(a); ii++)
        {
            printf("0x%0x ", (BYTE)a[ii]);
        }
        printf("
    
    ");
    
        char b[1024] = {0};
        size_t tt;
    
        toUTF8(a, b, 1024, &tt);
    
        printf("utf-8:'%s'
    ", b);
        printf("tt:%d
    
    ", tt);
    
        setRegeditConfig_STR(HKEY_CURRENT_USER, REG_SOFT_KEY, key_file_dlg_choose_logo, b, tt + 1);
    
        //int ii;
        for(ii = 0; ii < tt; ii++)
        {
            printf("0x%0x ", (BYTE)b[ii]);
        }
        printf("
    
    ");
    
    
        unsigned long readLen = MAX_PATH;
        char filePath[MAX_PATH] = {0};
        if(getRegeditConfig_STR(HKEY_CURRENT_USER, REG_SOFT_KEY, key_file_dlg_choose_logo, filePath, &readLen))
        {
            printf("filePath:'%s'
    ", filePath);
            printf("len-utf8:%d
    
    ", readLen);
    
            int ii;
            for(ii = 0; ii < readLen; ii++)
            {
                printf("0x%0x ", (BYTE)filePath[ii]);
            }
            printf("
    
    ");
    
            char *p = utf8ToGBK(filePath, &tt);
            printf("filePath-gbk:'%s'
    ", p);
            printf("len-gbk:%d
    ", tt);
    
            //int ii;
            for(ii = 0; ii < tt; ii++)
            {
                printf("0x%0x ", (BYTE)b[ii]);
            }
            printf("
    ");
    
        }
    
        system("pause");
        exit(0);

  • 相关阅读:
    android添加文件打开方式以及参数传递
    Android文字图片写入CSV(Base64)并分享
    Fragment嵌套Fragment要用getChildFragmentManager
    Android数据库存取图片以及转换成缩略图
    2015已经过去三分之一了
    GridView和ListView简单使用
    WPF处理Windows消息
    90后码农的北京求职之旅
    排序算法复习—快速排序
    排序算法复习—归并排序
  • 原文地址:https://www.cnblogs.com/personnel/p/10571683.html
Copyright © 2011-2022 走看看