各位大佬,vs如何实现同时支持UTF8和ANSI两种编码?

亭台六七座 2021-04-18 04:00:06
各位大佬,vs在不显示警告的情况下,如何实现同时支持UTF8和ANSI两种编码?
还是同时只能用一种编码吗?
...全文
247 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-04-26
  • 打赏
  • 举报
回复
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html
u18004660201 2021-04-20
  • 打赏
  • 举报
回复
不错, 用qt太久了, 基本功都没有了。
浪客 2021-04-18
  • 打赏
  • 举报
回复
学习了。。。。。。。。。
  • 打赏
  • 举报
回复
char *s1 = "aaa"; ANSI
char *s2 = u8"aaa"; // UTF-8
char *s3 = u"aaa"; // UTF-16
char *s4 = U"aaa"; // UTF-32
本模块支持GBK、UNICODE、UTF-8三种编码之间的互相转换,不依赖系统Api,通过查表和编码算法直接得出转码结果,支持多线程调用。 编码小科普 GBK编码:1-2个字节,包含GB2312、ASCII、BIG5,注意:同一个繁体字在GBK和BIG5中的编码是各不相同的。 GB18030编码:1字节、2字节、4字节,兼容GBK。 UNICODE是国际统一编码,UCS-2标准:2字节,UCS-4标准:4字节。 UTF-8是对UNICODE的再次编码,UCS-2标准:1-3字节,UCS-4标准:1-6字节。 BIG5编码:2字节,繁体中文,主要在台湾、香港、澳门等地普及,属于业界标准而非官方标准。 比用Api“MultiByteToWideChar、WideCharToMultiByte”的有两个好处 。1,Api的可能造成程序崩溃(相信很多人都遇到过),使用过多个易语言界大佬编码转换都会出现这个情况,而我这个模块就不会。2,Api的如果大家使用代码页936进行转换,很多GBK字符不受支持,因为代码页936表示的是简体中文(MSDN解释:GB2312,ANSI / OEM简体中文(中国,新加坡);简体中文(GB2312)),GB2312只有几千个字符,相比GBK少了一万多个字符。 所以你不必担心转换的字符会少,我可以负责任的说只会比你用上面两个api支持的字符多,不会少。至于转换速度也并不会慢,我的查表是直接定位位置,没有查找过程,速度不会慢。下一次更新准备添加支持BIG5编码转换。
本模块支持GBK、UNICODE、UTF-8三种编码之间的互相转换,不依赖系统Api,通过查表和编码算法直接得出转码结果,支持多线程调用。 ===========================================编码小科普=========================================== GBK编码:1-2个字节,包含GB2312、ASCII、BIG5,注意:同一个繁体字在GBK和BIG5中的编码是各不相同的。 GB18030编码:1字节、2字节、4字节,兼容GBK。 UNICODE是国际统一编码,UCS-2标准:2字节,UCS-4标准:4字节。 UTF-8是对UNICODE的再次编码,UCS-2标准:1-3字节,UCS-4标准:1-6字节。 BIG5编码:2字节,繁体中文,主要在台湾、香港、澳门等地普及,属于业界标准而非官方标准。 ============================================================================================= 比用Api“MultiByteToWideChar、WideCharToMultiByte”的有两个好处 。1,Api的可能造成程序崩溃(相信很多人都遇到过),使用过多个 易语言 界大佬编码转换都会出现这个情况,而我这个模块就不会。2,Api的如果大家使用代码页936进行转换,很多GBK字符不受支持,因为代码页936表示的是简体中文(MSDN解释:GB2312, ANSI / OEM简体中文(中国,新加坡); 简体中文(GB2312) ),GB2312只有几千个字符,相比GBK少了一万多个字符。 所以你不必担心转换的字符会少,我可以负责任的说只会比你用上面两个api支持的字符多,不会少。至于转换速度也并不会慢,我的查表是直接定位位置,没有查找过程,速度不会慢。下一次更新准备添加支持BIG5编码转换。

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧