跨平台的编码转换库,好吧。第一反应是ibm的icu库,因为之前用过的boost的regexp用的就是它。 第二反应是自己包装一个,因为之前完成了很多跨平台的包装,再实现一个并不难。第三反应Google。结果看到gnu的iconv库可以有woe的版本。而icu的大小是10MB,iconv的静态库不到1MB,所以还是用它吧。
这儿需要提到的是第一次我自己coding的时候,少考虑了EILSEQ(An invalid multibyte sequence has been encountered in the input.)的情况。所以贴一个我认为可以用在生产环境的实现: