特殊字符为int,然后返回

时间:2011-01-04 18:32:17

标签: c++-cli char int

所以我想要的是例如将字母'a'转换为97(例如它在ASCII表中),然后将67转换为'a'。 我实际上对这封信执行了大量的数学和东西,将其视为二进制数 - 因此转换是必要的。 但是对于特殊字符,它不能很好地工作。

char c = 'ÿ';
int i = int(c);
wchar_t wTemp = static_cast<wchar_t>(i);
wchar_t* w = &wTemp;
String^ newI = gcnew String(w);

这个符号只是我在图像中找到的一个随机符号(需要读取的字符类型)。它只是一个完全不同的符号。我不知道为什么或做什么?

2 个答案:

答案 0 :(得分:1)

0x7f(127)以上的字符可能会转换为负整数值。也许将c更改为无符号:

unsigned char c = 'ÿ';
int i = c;

答案 1 :(得分:1)

虽然我没有运行它,但你的代码看起来并不合适。以下是MSDN如何转换为wchar_t的一个很好的例子:

http://msdn.microsoft.com/en-us/library/ms235631(v=vs.80).aspx

我不相信'特殊'字符有什么特别之处。