跨平台unicode支持
时间:2020-03-05 18:46:17 来源:igfitidea点击:
我发现在我的跨平台应用程序中获得Unicode支持确实是一大难题。
我需要可以从C代码到数据库,到Java应用程序和Perl模块的字符串。这些中的每一个都使用不同的Unicode编码(UTF8,UTF16)或者其他一些代码页。我需要的最大的事情是跨平台的转换方式。
人们使用什么样的工具,库或者技术来简化处理这些事情?
解决方案
回答
看看这个:http://www.icu-project.org/
回答
我们如何进行跨平台通话?都是从Java调用的吗?
http://java.sun.com/docs/books/tutorial/i18n/text/string.html可能会有用。
我对我们要尝试执行的操作感到有些困惑。数据库本质上是所有代码之间的接口吗?然后,只需制作DB UTF-8即可,每个客户都需要进行自己的转换,这应该很容易。
听起来像是一个有趣的问题,我们能否分享更多详细信息?
回答
Perl具有Encode作为标准库。它可以用于读取/写入所需的任何编码,因此这不会成为问题。
回答
出色地。我想iconv足以满足需求。默认情况下,Iconv应该在任何POSIX系统上都可用(那些(包括(GNU /)Linux,* BSD,Mac OS X ...)。在Windows AFAIK上,它需要单独的库,但:
- 我们可以将其安装/与软件捆绑/静态编译。 (适用于Windows的libiconv)。 (我想我建议将其捆绑在一起)。
- 我们可以使用某些本机Windows调用作为特殊情况。
当然,如果我们使用的是Java,它具有内置功能,但我看到它可能不是我们想要的(JNI调用很昂贵)。
PS。我们不能将perl设置为特定的编码吗?