社区
非技术区
帖子详情
调查一下:用C/C++编程,编码一般用UTF-8还是用GB2312/GBK/GB18030???
nlper
2011-08-29 05:32:57
如题
...全文
1118
15
打赏
收藏
调查一下:用C/C++编程,编码一般用UTF-8还是用GB2312/GBK/GB18030???
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jackyjkchen
2011-08-29
打赏
举报
回复
GBK转UTF16
和
UTF8转UTF16
Windows API是同一个函数,我觉得微软这种观点是合理的
GBK也是变长编码,英文1字节,汉字2字节,和
UTF8的英文1字节,汉字3字节,编码方式类似
只不过UTF8最长编码能达到6字节,码字空间更大,能达到国际化容纳所有UNICODE字符而已
luciferisnotsatan
2011-08-29
打赏
举报
回复
[Quote=引用 13 楼 luciferisnotsatan 的回复:]
vc默认ansi,简中对应gb2312
[/Quote]
简中系统,对应gb2312
luciferisnotsatan
2011-08-29
打赏
举报
回复
vc默认ansi,简中对应gb2312
jackyjkchen
2011-08-29
打赏
举报
回复
[Quote=引用 11 楼 bokutake 的回复:]
引用 5 楼 jackyjkchen 的回复:
1.如果是源文件,看你的编译环境,VC一般都是GBK,gcc一般用UTF8
2.如果说真正使用的字符集(参与运算和传递的),同样看你的编译环境,VC推荐UTF16,因为内核就是UTF16,效率高,并且尽量使用T系列的宏和函数似的ANSI和UTF16同时兼容;如果是gcc,相反,尽量使用UTF8,别用wchar_t系列的宽字节,gcc/L……
[/Quote]
UTF8不是WideChar,而是MBCS,您的反问应该改成肯定句,至少M$这么认为
因为UTF8是变长编码,不能使用wchar_t存储,也是char*
再看windows api,MultiByteToWideChar,改变第一个参数,可以将UTF8转成UTF16
WideCharToMultiByte,可将UTF16转为UTF8
辰岡墨竹
2011-08-29
打赏
举报
回复
[Quote=引用 5 楼 jackyjkchen 的回复:]
1.如果是源文件,看你的编译环境,VC一般都是GBK,gcc一般用UTF8
2.如果说真正使用的字符集(参与运算和传递的),同样看你的编译环境,VC推荐UTF16,因为内核就是UTF16,效率高,并且尽量使用T系列的宏和函数似的ANSI和UTF16同时兼容;如果是gcc,相反,尽量使用UTF8,别用wchar_t系列的宽字节,gcc/Linux对宽字节的支持并不好,特别是宽窄混用的话
[/Quote]
难道UTF-8不是WideChar的一种么?如果不是,难道UTF-8是MBCS么?
只不过Linux下wchar_t是4个字节,这个对于UTF-8也合适,保存一个编码元没问题。只不过Linux的内核就是UTF-8的,而对UTF-16LE支持比较差罢了。
hongwenjun
2011-08-29
打赏
举报
回复
学习 C++ ,控制台输出,所以 用GBK,省事情
limang89
2011-08-29
打赏
举报
回复
[Quote=引用 5 楼 jackyjkchen 的回复:]
1.如果是源文件,看你的编译环境,VC一般都是GBK,gcc一般用UTF8
2.如果说真正使用的字符集(参与运算和传递的),同样看你的编译环境,VC推荐UTF16,因为内核就是UTF16,效率高,并且尽量使用T系列的宏和函数似的ANSI和UTF16同时兼容;如果是gcc,相反,尽量使用UTF8,别用wchar_t系列的宽字节,gcc/Linux对宽字节的支持并不好,特别是宽窄混用的话
[/Quote]
++
辰岡墨竹
2011-08-29
打赏
举报
回复
VS2005以后可以直接使用UTF-8文件(带BOM)。不过比较早的GNU只支持没有BOM的UTF-8,不过比较新版本是可以的。
建议用UTF-8,可以方便移植。
赵4老师
2011-08-29
打赏
举报
回复
GBK
xunxun
2011-08-29
打赏
举报
回复
[Quote=引用 5 楼 jackyjkchen 的回复:]
1.如果是源文件,看你的编译环境,VC一般都是GBK,gcc一般用UTF8
2.如果说真正使用的字符集(参与运算和传递的),同样看你的编译环境,VC推荐UTF16,因为内核就是UTF16,效率高,并且尽量使用T系列的宏和函数似的ANSI和UTF16同时兼容;如果是gcc,相反,尽量使用UTF8,别用wchar_t系列的宽字节,gcc/Linux对宽字节的支持并不好,特别是宽窄混用的话
[/Quote]
主要是gcc的文件流方向……
jackyjkchen
2011-08-29
打赏
举报
回复
1.如果是源文件,看你的编译环境,VC一般都是GBK,gcc一般用UTF8
2.如果说真正使用的字符集(参与运算和传递的),同样看你的编译环境,VC推荐UTF16,因为内核就是UTF16,效率高,并且尽量使用T系列的宏和函数似的ANSI和UTF16同时兼容;如果是gcc,相反,尽量使用UTF8,别用wchar_t系列的宽字节,gcc/Linux对宽字节的支持并不好,特别是宽窄混用的话
nlper
2011-08-29
打赏
举报
回复
[Quote=引用 1 楼 healer_kx 的回复:]
你说cpp文件本身的编码吗?
[/Quote]
是文件编码格式,不是置c/c++语言
尘缘udbwcso
2011-08-29
打赏
举报
回复
我只知道JAVA WEB一般用UTF-8
一叶之舟
2011-08-29
打赏
举报
回复
代码本身好像都是asiic,中文应该根据具体的要求选择不同的编码方式。
healer_kx
2011-08-29
打赏
举报
回复
你说cpp文件本身的编码吗?
基于QT框架开发的经典数字益智游戏2048复刻版_2048游戏逻辑实现方块移动合并算法分数计算系统键盘方向键控制游戏状态判定胜利失败界面动画效果历史最高分记录_通.zip
基于QT框架开发的经典数字益智游戏2048复刻版_2048游戏逻辑实现方块移动合并算法分数计算系统键盘方向键控制游戏状态判定胜利失败界面动画效果历史最高分记录_通.zip
状态估计基于Koopman算子的非线性系统线性预测方法:动力系统M{完整资源下载,分享}PC控制设计与Matlab实现
内容概要:本文介绍了基于Koopman算子理论的线性预测器在非线性受控动力系统中的应用,结合模型预测控制(MPC)方法,利用Matlab实现相关算法。通过将非线性系统映射到高维特征空间,构造近似的线性演化模型,从而简化预测过程并提升控制效率。文中提供了完整的Matlab代码资源链接,涵盖状态估计、系统辨识与控制器设计等关键环节,并展示了该方法在复杂非线性系统中的有效性与实用性。; 适合人群:具备一定控制理论基础和Matlab
编程
能力,从事自动化、控制工程、系统建模与优化等相关领域的科研人员及研究生;; 使用场景及目标:①解决非线性系统的实时状态估计与预测控制问题;②学习Koopman算子在MPC中的具体实现方式;③应用于如机器人控制、工业过程控制、智能交通等需要高效非线性控制策略的领域; 阅读建议:建议结合提供的Matlab代码进行实践操作,深入理解Koopman方法如何将非线性问题线性化处理,并配合YALMIP等工具包完成优化求解,强化对模型构建与仿真实现的整体把握。
基于Qt框架开发的跨平台多媒体播放器项目_支持在线流媒体播放与本地音频文件管理_集成音乐库分类_歌词同步显示_播放列表编辑_音效均衡器调节_睡眠定时功能_专辑封面自动匹配_支持MP.zip
基于Qt框架开发的跨平台多媒体播放器项目_支持在线流媒体播放与本地音频文件管理_集成音乐库分类_歌词同步显示_播放列表编辑_音效均衡器调节_睡眠定时功能_专辑封面自动匹配_支持MP.zip
windows-cpp-zn
windows_cpp_zn
基于Qt框架开发的GIF图像处理与播放工具_支持GIF动态图像的正常播放与暂停功能_提供截取任意帧为静态图像的能力_可调整播放速度的快慢_实现圆角化显示效果增强视觉体验_新增基于Q.zip
基于Qt框架开发的GIF图像处理与播放工具_支持GIF动态图像的正常播放与暂停功能_提供截取任意帧为静态图像的能力_可调整播放速度的快慢_实现圆角化显示效果增强视觉体验_新增基于Q.zip
非技术区
15,446
社区成员
58,119
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章