é如何在C ++中按位转换为E?

时间:2018-08-16 13:47:30

标签: c++ bit-shift accent-sensitive

您好,我在理解这一点以及例如如何使用像é这样的重音字符并将其转换为E9时遇到麻烦。我可能会错过一些我将其右移4的东西。é = 11101000E = 01000101移4不能使E正确吗?

static const char *digits = "0123456789ABCDEF";
unsigned char ch;
*dest++ = digits[(ch >> 4) & 0x0F];//this returns E
*dest++ = digits[ch & 0x0F];//this returns 9

1 个答案:

答案 0 :(得分:0)

该代码不会将tClient= TwilioRestClient(sid, token) 转换为public static void writeToOutputStream(byte[] bytesArr, OutputStream outputStream) { try { outputStream.write(bytesArr); } catch (IOException e) { throw new NetModelStreamingException( "IOException occurd during writing to stream. Error Message:" + e.getMessage()); } } -它会将一个8位数字转换为以四位(“四位”)的十六进制表示形式。

é是代表高字节的数字,而E9是代表低字节的数字。

如果看到digits[(ch >> 4) & 0x0F]变成digits[ch & 0x0F],那是因为é在字符编码中的值为233。