我发现在我的跨平台应用程序中获得 Unicode 支持真的很痛苦。

我需要可以从 C 代码到数据库、Java 应用程序和 Perl 模块的字符串。其中每一个都使用不同的 Unicode 编码(UTF8、UTF16)或其他一些代码页。我最需要的是一种跨平台的转换方式。

人们使用什么样的工具、库或技术来使处理这些事情变得更容易?

有帮助吗?

解决方案

看看这个: http://www.icu-project.org/

其他提示

Perl 有 编码 作为标准库。它可用于读取/写入您想要的任何编码,因此这不会成为问题。

您如何进行跨平台调用?都是Java调用的吗?

http://java.sun.com/docs/books/tutorial/i18n/text/string.html 可能有用。

我对你到底想做什么有点困惑。数据库本质上是所有代码之间的接口吗?那么它应该很容易 - 只需将数据库设置为 UTF-8,每个客户端都需要进行自己的转换。

听起来是一个有趣的问题,您能分享更多细节吗?

好吧,我想 iconv 足以满足您的需求。默认情况下 Iconv 应在任何 POSIX 系统上可用(包括 (GNU/)Linux、*BSD、Mac OS X...)。在 Windows 上,据我所知,它需要单独的库,但是:

  1. 您可以安装它/与您的软件捆绑在一起/静态编译它。(用于 Windows 的 libiconv)。(我想我会建议捆绑它)。
  2. 作为特殊情况,您可以使用一些本机 Windows 调用。

当然,如果您使用 Java,它是内置的 - 但我发现它可能不是您想要的(JNI 调用很昂贵)。

附言。不能将 perl 设置为特定编码吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top