跨平台 unicode 支持
-
09-06-2019 - |
题
我发现在我的跨平台应用程序中获得 Unicode 支持真的很痛苦。
我需要可以从 C 代码到数据库、Java 应用程序和 Perl 模块的字符串。其中每一个都使用不同的 Unicode 编码(UTF8、UTF16)或其他一些代码页。我最需要的是一种跨平台的转换方式。
人们使用什么样的工具、库或技术来使处理这些事情变得更容易?
解决方案
其他提示
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 上,据我所知,它需要单独的库,但是:
- 您可以安装它/与您的软件捆绑在一起/静态编译它。(用于 Windows 的 libiconv)。(我想我会建议捆绑它)。
- 作为特殊情况,您可以使用一些本机 Windows 调用。
当然,如果您使用 Java,它是内置的 - 但我发现它可能不是您想要的(JNI 调用很昂贵)。
附言。不能将 perl 设置为特定编码吗?
不隶属于 StackOverflow