将gbk字符串转换成utf-8,存储到注册表中后,再次从注册表读取转换成gbk,有问题!!!
char *a = "新2新";
printf("gbk:'%s'\n", a);
int ii;
for(ii = ; ii < strlen(a); ii++)
{
printf("0x%0x ", (BYTE)a[ii]);
}
printf("\n\n");
char b[] = {};
size_t tt;
toUTF8(a, b, , &tt);
printf("utf-8:'%s'\n", b);
printf("tt:%d\n\n", tt);
setRegeditConfig_STR(HKEY_CURRENT_USER, REG_SOFT_KEY, key_file_dlg_choose_logo, b, tt + );
//int ii;
for(ii = ; ii < tt; ii++)
{
printf("0x%0x ", (BYTE)b[ii]);
}
printf("\n\n");
unsigned long readLen = MAX_PATH;
char filePath[MAX_PATH] = {};
if(getRegeditConfig_STR(HKEY_CURRENT_USER, REG_SOFT_KEY, key_file_dlg_choose_logo, filePath, &readLen))
{
printf("filePath:'%s'\n", filePath);
printf("len-utf8:%d\n\n", readLen);
int ii;
for(ii = ; ii < readLen; ii++)
{
printf("0x%0x ", (BYTE)filePath[ii]);
}
printf("\n\n");
char *p = utf8ToGBK(filePath, &tt);
printf("filePath-gbk:'%s'\n", p);
printf("len-gbk:%d\n", tt);
//int ii;
for(ii = ; ii < tt; ii++)
{
printf("0x%0x ", (BYTE)b[ii]);
}
printf("\n");
}
system("pause");
exit();

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

将gbk字符串转换成utf-8,存储到注册表中后,再次从注册表读取转换成gbk,有问题!!!的更多相关文章
- mssql字符串分割后的值,把表中不存在的插入表中
字符串分割后的值,把表中不存在的插入表中 --供大家参考 使用场景,自行思考…… --创建表tb1 Create table tb1 ( cola int, colb ) ) --插入数据 inser ...
- SQL将表中某一类型的一列拼接成一行
SELECT TypeName ,(SELECT ','+ UserName FROM [ContainerMembers] t WHERE TypeName= aa.TypeName FOR XML ...
- [原创]SQL 把表中某一个列按照逗号拼接成一行
在我们开发的过程中,难免遇到一种场景,把某个表中的的某个列的值拼接成用逗号隔开的一行数据 如图:我们把UserId列拼接成一行数据 -------> 为此我写了一个存储过程来解决此类问题. -- ...
- 数据表设计:多对多关系E-R图转换——中间表
链接:https://blog.csdn.net/vainfanfan/article/details/80568784 链接2:https://www.cnblogs.com/hiwangzi/p/ ...
- SQL 把表中字段存储的逗号隔开内容转换成列表形式
原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ...
- [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式
我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ------> 从左边图转换成右边图,像这种需求,我们难免 ...
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 ...
- C#编程中的Image/Bitmap与base64的转换及 Base-64 字符数组或字符串的长度无效问题 解决
最近用base64编码传图片遇到了点问题,总结下. 首先总结下base64编码的逻辑,来自网络:https://www.cnblogs.com/zhangchengye/p/5432276.html ...
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
sql server 关于表中只增标识问题 由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...
随机推荐
- ajax验证用户名是否存在
jsp页面 <head> <script type="text/javascript" src="js/register.js">< ...
- Yii2设计模式——设计模式简介
我们首先来思考一个问题:作为工程师,我们的价值是什么? 笔者认为是--解决用户问题. 我们的任何知识和技能,如果不能解决特定的问题,那么就是无用的屠龙之术:我们的任何经验,如果不能对解决新的问题有用, ...
- footer固定在页面底部的实现方法总结
方法一:footer高度固定+绝对定位 HTML代码: <body> <header>头部</header> <main>中间内容</main&g ...
- wordpress主题
1.创建wordpress主题:在themes文件下建立新主题black文件夹 2.在black文件夹中放入index.php和style.css文件,其中index对style.css文件的引用 & ...
- Windows下创建ArcGIS Server站点
原创文章,转载须标明出处自: https://www.cnblogs.com/gisspace/p/8126261.html ------------------------------------- ...
- iOS----------use_frameworks!
1.https://segmentfault.com/a/1190000007076865 2.https://www.jianshu.com/p/8269e4cac48f 3.https://www ...
- linux 大冒险
本来想搞一个nas系统,结果上来linux的贼船. 本来是看上了deepin深度linux,结果看到排名第一的manjaro 就忍不住手.通过hyper-v虚拟机安装,发现这个所谓的第一不知道第一在哪 ...
- js实现自定义修改网页中表格信息
项目中的打印页面,为提高用户体验,需要增自定修改表格内容的功能,以下是使用示意图(双击td标签部分的内容,可自定义修改): 以下是js插件源码,存为edit.js文件: var tbl, tbt; v ...
- MySQL- 简单操作命令及教程
MySQL数据库(;表示结束语句) 关系型数据库 注释用 // db_name表示库名: b_name表示表名 1.进入.退出 root用户只能在本机连接,不可外部链接 进入:mysql -uroot ...
- JS直接调用C#后台方法(ajax调用)
1. 先手动引用DLL或者通过NuGet查找引用,这里提供一个AjaxPro.2.dll的下载: 2. 之后的的过程不想写了,网上都大同小异的,直接参考以前大佬写的: AjaxPro2完整入门教程 总 ...