Unicode ICU的优点和缺点是什么?
我的团队的任务是在我们的软件中实现Unicode,这是超过一百万行的代码。我们支持在Windows、AIX或Solaris上使用Oracle或SQL Server数据库的MFC客户端和服务器。ICU看起来是一个非常有用的工具。使用ICU的利弊是什么?ICU是否能像广告宣传的那样工作,没有重大缺陷?数据点:我们(是的,这是一个免责声明)的用户和缺陷列表都在我们的网站上 IMBO(有偏见的): 专业人士:Unicode ICU的优点和缺点是什么?,unicode,globalization,icu,Unicode,Globalization,Icu,我的团队的任务是在我们的软件中实现Unicode,这是超过一百万行的代码。我们支持在Windows、AIX或Solaris上使用Oracle或SQL Server数据库的MFC客户端和服务器。ICU看起来是一个非常有用的工具。使用ICU的利弊是什么?ICU是否能像广告宣传的那样工作,没有重大缺陷?数据点:我们(是的,这是一个免责声明)的用户和缺陷列表都在我们的网站上 IMBO(有偏见的): 专业人士: 作品如广告所示,全面 成熟:10年以上,具有良好的稳定政策和非常积极的发展 使用最新的Uni
- 作品如广告所示,全面李>
- 成熟:10年以上,具有良好的稳定政策和非常积极的发展
- 使用最新的Unicode+CLDR+BCP47+其他标准
- 编译基本上无处不在。C/C++/J,并由/实现python、perl、php等调用
- 开源,贡献者越来越多样化
- 提供了上述所需的所有数据(见下文,cons下),但可自定义。(可以添加自定义数据)
- 需要更好的文档(我们尝试-有人想帮忙吗?)李>
- 很多API——“太大了,很难知道该使用哪种API,即使它能满足您的需求
- 被很多类型的程序使用,从嵌入式设备、智能手机到主要的桌面应用程序,再到数据库、操作系统和企业应用程序:因此,可能有多种方法来做一些事情
- 随附上述所需的所有数据!“它太大了#2”(见上文“专业”一节),但可定制。(可以裁剪到合适的尺寸)
- 尽管它年代久远,但它的基本元素还是被打破了,例如在这个问题上:
- 时间处理被破坏,因为时间未被指定:在许多API中,您无法以可靠的方式区分DST和非DST时间
- 太大了
- 文档需要大量的工作。使用较少的功能通常无法使用,因为无法找到正确的使用方法。我花了好几天的时间试图让音译像我解释的那样起作用,最终还是放弃了
- 它喜欢在UTF-16中工作,这是所有可能的世界中最糟糕的
- 支持对问题没有反应
- 根据我的经验,直到你完成了一个项目的大部分工作,你才开始发现潜在的缺陷,这将占用你90%的时间
对许多人来说,没有其他选择,所以你只能坚持下去。基本的东西不是bug。跟随链接和bug。您是否提交了一个bug或发送了关于音译的支持请求?ICU因其功能和数据集而庞大,但可以通过有据可查的方式缩小。您是否在DST/非DST上提交了错误我不确定我是否理解他们的要求。正常情况下,阅读SO不是我们官方支持的一部分;我已经依赖它很多年了。“赞成和反对”是一个意见问题,通常被认为是StackOverflow的界限。