首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mac OS X上的iconv库:奇怪的行为

Mac OS X上的iconv库:奇怪的行为
EN

Stack Overflow用户
提问于 2012-10-04 20:06:31
回答 1查看 777关注 0票数 0

我正在将应用程序从CentOS 6移植到Mac。它依赖于iconv,并且在CentOS中正常工作。然而,在Mac上不是这样的。我看到了以下行为:

代码语言:javascript
复制
const char *codePages[] = { "MAC", "LATIN1", "ISO_8859-1", "WINDOWS-1252", "ASCII" };
int codePagesCount = 5;
iconv_t converter1 = iconv_open("UTF-32", codePages[0]);// Works
if(converter1 != (iconv_t)-1)
   iconv_close(converter1);
iconv_t converter2 = iconv_open("UTF−32", "MAC");// Fails, returns -1
if(converter2 != (iconv_t)-1)
   iconv_close(converter2);

这段代码看起来很简单:第一个iconv_open创建转换器并从codePages数组中获取代码页名称,它的零元素是MAC,所以对我来说,Mac必须支持从它自己的代码页到Unicode的转换是合乎逻辑的。并且对iconv_open的第一个调用可以正常工作。但是,对iconv_open的第二个调用也执行同样的操作。它还创建了从Mac编码到Unicode的转换器。无论出于什么原因,它都会失败并返回-1。当使用相同的参数(一个是硬编码数组的元素,另一个是硬编码字符串)调用相同的函数时,导致第一次调用的功能正常,第二次调用失败,这可能是什么原因?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-04 20:11:40

第二个"UTF-32“与第一个不同:我猜第一个使用了一个普通的减号,而第二个使用了一个尾号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12726924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档