【问题标题】:MultiByteToWideChar / WideCharToMultiByte implementation on Linux for UTF conversionLinux 上用于 UTF 转换的 MultiByteToWideChar / WideCharToMultiByte 实现
【发布时间】:2012-09-30 01:27:19
【问题描述】:

我正在开发使用 MultiByteToWideChar() 和 WideCharToMultiByte() 函数将 UTF-8 转换为 UTF-16 的应用程序,反之亦然。我的工作目的是将该应用程序从 Windows 移植到 Linux。由于这些函数在整个代码中被广泛使用,我想尽量减少之后的代码更改。 不幸的是,我有一个限制 - 不能使用像 Wine 这样的开源库,所以我基本上是在寻找一种很好的算法,用于将多字节 UTF-8 字符串转换为 UTF-16 宽字符串(反之亦然),该算法适用于 32\ 64 位 Linux,仅使用标准 Linux C 库。

有人可以推荐我可以使用的适当算法或标准实现吗?

【问题讨论】:

  • 你应该看看标准 C 库中的 wchar.h,有一堆函数可以在多字节/宽 C 字符串之间进行转换。
  • 但它们本身不执行 UTF 转换。我必须至少找到一些通用的转换算法。

标签: utf-8 utf-16 multibyte widechar


【解决方案1】:

UTF-8 和 UTF-16 是非常简单的编码,很容易手动实现,如果您只担心这两种编码,您甚至不需要使用任何库。

【讨论】:

    猜你喜欢
    • 2011-03-17
    • 2011-08-25
    • 1970-01-01
    • 2019-11-29
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    相关资源
    最近更新 更多