从post学到了很多东西(总结一下:我需要在fedora上的eclipse中将特殊字符解码为'ñ'),现在我看到我做错了或者至少这就是我的想法,因为我正在将文本解码为普通字符串,然后尝试将其从char传递给wchar_t,现在我正在使用mbtowsc()从beggining解码它。所以现在....我有另外两个疑问/问题。
我有什么:
服务器向我发送文本"$ Euroñ $"
(我不知道它是如何编码的,只是字符串被编码为ANSI 1字节)。我在descr [0]中加载该文本,所以当我调试它时,一些值是:
descr[0][2]= 69 'E'
descr[0][3]= 117 'u'
descr[0][4]= 114 'r'
descr[0][5]= 111 'o'
descr[0][6]= -15 'ñ'
有了这个,我想你可以知道它是不是utf-8,我想它是。
我的目标是能够做到这样的事情:
for (int i = 0; i < total; i++)
{
if(descr[0][i]=='a') //do things
else if (descr[0][i]=='ñ') // do other stuff
}
这是我无法得到的,因为ofc descr [0] [6]永远不等于'ñ'......
我试过了:
if(descr[0][i]=='\x00D1')
if(descr[0][i]=='\x00F1')
if(descr[0][i]=='ñ') //this compiles but then ignores that if like it is an error
if(descr[0][i]==L'ñ')
但是它永远不会进入任何一个ifs,所以..我应该比较descr [0] [i]知道它是否是'ñ'?
感谢。