社区
其它技术问题
帖子详情
请教:Linux和Windows跨平台C++编程中多国语言的问题?及跨平台交换数据文件等问题?
roger_77
2007-01-17 10:19:00
请教各位:
C++在Linux和Windows跨平台编程中,多国语言版本应该怎样实现,尤其是UTF-8如何影响编程和项目设置的?
还有就是C++的字符串数据中,如果是Linux和Windows跨平台需要支持多国语言,应该什么样的编码方式?ANSI,Unicode(如wstring, UTF-8等)?
请有这方面开始经验的兄弟不要吝惜,多多指点!
(分不够可再加)
...全文
993
16
打赏
收藏
请教:Linux和Windows跨平台C++编程中多国语言的问题?及跨平台交换数据文件等问题?
请教各位: C++在Linux和Windows跨平台编程中,多国语言版本应该怎样实现,尤其是UTF-8如何影响编程和项目设置的? 还有就是C++的字符串数据中,如果是Linux和Windows跨平台需要支持多国语言,应该什么样的编码方式?ANSI,Unicode(如wstring, UTF-8等)? 请有这方面开始经验的兄弟不要吝惜,多多指点! (分不够可再加)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
roger_77
2007-03-14
打赏
举报
回复
看不到分数,请点击"管理"
roger_77
2007-03-14
打赏
举报
回复
想说一句,此问题还没最终找到合适的解决方案
最近在忙其它的事,这事就先放在一边了,以后再好好研究
要强行结贴了,
没办法啦……
redleaves
2007-03-01
打赏
举报
回复
楼主应该好好看一下这些个编码的关系.
楼上的有些地方也不对.
ISO10646就是UCS,是32位的
Unicode是16位的,相当于ISO10646的BMP部分.
UTF-16是针对Unicode产生的折中方案,为的是用Unicode的兼容形式来表达更多的UCS编码.形式和UTF-8是相似的.
UTF-8则是针对ASCII产生的折中方案,用ASCII兼容的形式来表式UNICODE/UCS编码.
用UTF-8,最大的好处是几乎完全不要修改字符串处理的代码,只要让显示字符的代码支持UTF-8就可以了,它可以兼容ASCII.
roger_77
2007-03-01
打赏
举报
回复
用UTF-8,最大的好处是几乎完全不要修改字符串处理的代码,只要让显示字符的代码支持UTF-8就可以了,它可以兼容ASCII.
----------------
真是如此吗?
具体应该在程序中操作?
redleaves
2007-03-01
打赏
举报
回复
对,当然.唯一和ASCII不同的是,有时UTF-8是多个字节表示一个字符,如果你有计算字符个数之类的代码,需要做些改动.
roger_77
2007-02-13
打赏
举报
回复
..........
uft-8不是很好的编码方案.
对中文来说, 2个字符变成3个,中国人没理由支持这个东东.
统一采用2字节编码...........
------------------------------
对于"htqx(航天奇侠)"这位兄弟的看法,偶持保留意见.
个人感觉UTF-8的编码方式更好,更易于兼容世界上各种语言,并且节省资源.
而采用uft-16的双字节编码,目前已经不够用来表示世界上所有的语言文字啦.
htqx
2007-01-29
打赏
举报
回复
uft-8不是很好的编码方案.
对中文来说, 2个字符变成3个,中国人没理由支持这个东东.
对程序来说,他和内码的编码方式实际一样,都是多字节编码,1个和2个,到现在1个和3个的结合,完全是没有进步. 而unicode编码,统一采用2字节编码,这样对程序开发来说可以轻松简易一点.
unicode编码有两个都是强制性的标准,一个用于程序设计内部表达数据的utf-16,一个是用于保存大量英文字母的utf-8标准, 中国人保存自己的文字,适合采用uft-16,因为这个标准可以减少每个字符一字节的需求量.
当然,代码如果同时支持这两种编码接口最好不过了.
muymuy
2007-01-29
打赏
举报
回复
补充一句:
大名顶顶的xerces-c(一个处理xml的开发包),为了支持多国语言就是采用wchar_t,wstring,并采用utf-16编码。
muymuy
2007-01-29
打赏
举报
回复
1、所有字符和字符串都采用wchar_t或wstring;
2、所有字符和字符串采用utf-16编码;
roger_77
2007-01-17
打赏
举报
回复
文章偶看了不少,感觉很难下手:
比如:一个字符串数据(它可能是中文或英文或中英文混合等等),字符串在某个平台(语言不定)下被程序写入文件中,而这个文件可能会被传输到不同的平台(语言不定)中,再由程序从文件中读取出来。
在不同的平台和不同的语言环境中,怎么才能保证正确传输及解析原来的C++字符串数据?
有这方面开发经验的兄弟,都来指点一下嘛!
分数好说
caocheng8230
2007-01-17
打赏
举报
回复
开源社区有code.google.com
sorceforge.net
jixingzhong
2007-01-17
打赏
举报
回复
Linux 国际化本地化和中文化:
http://www.lslnet.com/linux/docs/linux-2661.htm
看看这个系列文章 ~
caocheng8230
2007-01-17
打赏
举报
回复
还可以去去开源社区,可以搜索搜索locale的相关实现的库,会有不同本地化实现的locale库打包下载.
caocheng8230
2007-01-17
打赏
举报
回复
#include<locale.h>
#include<locale>
上面有关于本地化的相关的库函数
jixingzhong
2007-01-17
打赏
举报
回复
楼主先 看看关于 locale和国际化 的资料~
珍惜生命远离CPP
2007-01-17
打赏
举报
回复
在内部使用ascii或者unicode
但所有模块之间的接口使用utf-8
对外接口也使用utf-8
C++
项目集成matio库:
跨平台
读写MATLAB .mat文件完整指南
本文系统讲解
C++
项目
跨平台
集成matio库以读写MATLAB .mat文件的完整流程,涵盖matio核心构成、zlib依赖管理、源码编译(
Linux
/macOS/
Windows
)、vcpkg一键安装、CMake与Visual Studio集成方法,以及mat文件读写、结构体/元胞数组处理、内存管理与常见链接错误排查等关键技术点。
C++
联合体与大小端:内存布局、
跨平台
数据解析与实战避坑
本文深入解析
C++
联合体的内存共享机制与大小端字节序原理,涵盖联合体本质、类型双关、内存对齐及未定义行为避坑;系统讲解大小端判断方法(union法、std::endian、宏检测)、字节序转换函数实现;结合自定义二进制协议解析实战,强调
跨平台
数据
交换
中结构体打包、序列化/反序列化、严格别名规则与std::bit_cast等现代
C++
安全实践。
Notepad--终极指南:国产
跨平台
文本编辑器的10个高效使用技巧
Notepad--是一款基于
C++
和Qt开发的国产开源
跨平台
文本编辑器,支持
Windows
、
Linux
和macOS,深度优化中文编码(GBK/UTF-8/BIG5)。核心功能包括文件对比、批量正则查找替换、多
语言
语法高亮、大文件智能加载、快捷键定制与宏录制、插件扩展框架、自动刷新日志监控、.ts国际化文件支持及模块化配置。适用于代码开发、日志分析与多项目管理等场景。
Notepad--终极指南:
跨平台
文本编辑器的10个高效实用技巧
Notepad--是一款国产开源
跨平台
文本编辑器,支持
Windows
、
Linux
和macOS,专为中文用户和开发者优化。本文介绍其10个高效实用技巧,涵盖快速安装配置、文件对比与批量替换、大文件处理、快捷键定制、插件开发、日志实时监控、国际化文件编辑等核心功能,并提供性能优化与社区贡献指南。
Linux
系列(1):利用VirtualBox安装虚拟机和
Linux
本文介绍了如何在
Windows
系统中利用VirtualBox安装CentOS7的详细过程。首先,下载VirtualBox并安装,然后从清华大学镜像站获取CentOS7.2的ISO镜像文件。在VirtualBox中新建虚拟机,配置内存、处理器和硬盘大小。接着,通过ISO映像启动安装过程,选择
语言
、时区、键盘布局,并手动配置磁盘分区,包括根目录/、home、boot和
交换
分区(swap)。最后,设置网络、创建用户账户并接受许可协议,完成安装。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章