代码之家  ›  专栏  ›  技术社区  ›  Lily Ballard

将Unicode码位转换为UTF-8的最简单方法

  •  7
  • Lily Ballard  · 技术社区  · 16 年前

    用C语言将Unicode码位转换成UTF-8字节序列最简单的方法是什么?唯一能想到的方法就是 iconv 从utf-32le代码页映射到utf-8,但这似乎太过分了。

    3 回复  |  直到 11 年前
        1
  •  7
  •   JesperE    16 年前

    Unicode转换不是一项简单的任务。在我看来,使用iconv似乎一点也不过分。也许有一个库版本的iconv可以用来避免进行System()调用,如果您想避免的话。

        2
  •  5
  •   Jon Skeet    16 年前

    我可以建议 ICU ?这是处理i18n问题的一种合理的“行业标准”方法。

    我自己没用过C版,但我怀疑 ucnv_fromUnicode 可能是你想要的功能。

        3
  •  3
  •   devio    16 年前

    utf8的工作原理是将编码码位的长度编码为编码字节的最高位。看见 http://en.wikipedia.org/wiki/UTF-8#Description

    我在这里的C中发现了这个小函数 http://www.deanlee.cn/programming/convert-unicode-to-utf8/ 但没有测试。