5

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

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

人们使用什么样的工具、库或技术来简化处理这些事情?

4

4 回答 4

4

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

于 2008-09-02T07:12:49.150 回答
3

Perl 将Encode作为标准库。它可以用来读/写你想要的任何编码,所以这不会是一个问题。

于 2008-09-05T11:57:44.897 回答
1

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

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

我对您要做什么感到有些困惑。数据库本质上是所有代码之间的接口吗?那么它应该很容易 - 只需制作 DB UTF-8,每个客户端都需要进行自己的转换。

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

于 2008-09-02T22:14:00.480 回答
1

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

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

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

PS。你不能将 perl 设置为特定的编码吗?

于 2009-04-19T09:05:53.750 回答