跨平台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设置为特定的编码吗?