首页 / 知识
C ++中的Unicode处理
2023-04-14 22:10:00

Unicode Processing in C++C ++中Unicode处理的最佳实践是什么?
如果您不关心与以前的C ++标准的向后兼容性,则当前的C ++ 11标准已内置Unicode支持:http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2011 /n3242.pdf 因此,在C ++中进行Unicode处理的真正最佳实践是为其使用内置工具。但是,对于较旧的代码库而言,这并非总是可能的,而目前的标准是如此之新。 编辑:澄清一下,C ++ 11支持Unicode,因为它现在支持Unicode文字和Unicode字符串。但是,标准库仅对Unicode处理和转换提供有限支持。对于您当前的需求,这可能就足够了。但是,如果您现在需要进行大量繁重的工作,则可能仍需要使用ICU之类的工具来进行更深入的处理。当前有一些建议正在研究中,以包括对不同编码之间的文本转换的更强大的支持。我的猜测(也是希望)是,这将成为下一份技术报告的一部分。 我们公司(和其他公司)使用Taligent最初开发的开放源代码的Unicode国际组件(ICU)库。 它处理字符串,语言环境,转换,日期/时间,排序规则,转换等。等 从ICU用户指南开始 这是Windows编程的清单:
看着 该问题具有指向Unicode的Microsoft文档的链接:http://msdn.microsoft.com/zh-cn/library/cc194799.aspx 如果您查看该文章旁边MSDN的左侧导航栏,则应该找到许多与Unicode函数有关的信息。它是"编码字符"一章的一部分(http://msdn.microsoft.com/zh-cn/library/cc194786.aspx) 它包含以下小节:
尽管这可能并不是每个人的最佳做法,但如果需要,您可以编写自己的C ++ UNICODE例程! 我刚刚完成了一个周末。我学到了很多东西,尽管我不能保证它是100%无缺陷的,但是我做了很多测试,而且看来工作正常。 我的代码在New BSD许可下,可以在这里找到: http://code.google.com/p/netwidecc/downloads/list 它称为WSUCONV,并带有一个示例main()程序,该程序在UTF-8,UTF-16和标准ASCII之间进行转换。如果您丢弃主代码,那么您将拥有一个不错的读写UNICODE的库。 如上所述,使用大型系统时,最好的选择是库。但是有时候您确实想处理自己的事情(可能是因为该库将使用微控制器上的许多资源)。在这种情况下,您需要一个简单的库,可以将其中的零件复制出实际需要的东西。 Willow Schlanger的示例代码似乎是一个不错的代码(有关更多详细信息,请参见他的答案)。 我还发现了另一个代码较小的代码,但是缺少完整的错误检查功能,仅处理UTF-8,但拆装起来更简单。 这是看起来不错的嵌入式库的列表。 嵌入式库
看看UTF-8 Everywhere的建议 使用IBM的Unicode国际组件 |
最新内容
相关内容
linux储存命令数据?
linux储存命令数据?,系统,工作,地址,信息,标准,命令,工具,实时,数据,分析,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux命令大全数据库?
linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)登录linux上数据库的命令?
linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)1、登linux命令dm数据库?
linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,linux创建dm数据库超时linux/sys下无法新建 方法如下打开c盘,在用户linux存储数据命令?
linux存储数据命令?,系统,管理,数据,设备,情况,地址,工作,命令,服务,平台,Linux文件系统操作命令1、cat:可以显示文件的内容(经常和more搭配使linux数据库查找命令?
linux数据库查找命令?,位置,名称,状态,服务,软件,信息,系统,命令,名字,密码,在linux中如何用命令查找文件在哪使用查找命令 “find”命令允许linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux建立数据库命令?
linux建立数据库命令?,软件,系统,工作,数据,密码,工具,数据库,一致,网络,服务,linux中在shell中怎么创建一个数据库1、以下的文章主要讲述的是linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安linux清空表数据命令?
linux清空表数据命令?,系统,数据,软件,名称,不了,命令,文件,电脑,地址,位置,Linux删除文件的命令?1、linux 删除文件指令:输入rd盘符名:\文件夹linux拷贝数据命令?
linux拷贝数据命令?,系统,地址,文件,数据,命令,目录,服务,基本知识,项目,密码,linux复制命令?1、在Linux中,用于复制文件和目录的命令是cp。cplinux数据库检查命令?
linux数据库检查命令?,服务,状态,地址,位置,系统,信息,命令,工作,情况,密码,在linux中,怎样查看Mysql服务运行状态?1、psaux或netstat-tlunpps