我只是想知道0xFFFF是否是一个有效的Unicode字符。
当我使用以下代码时:
CStringW strTempW;
CString strTemp1;
INT_PTR nLen;
strTempW.Format(L"%c", 0xFFFF);
nLen = strTempW.GetLength();
strTemp1 += strTempW;
nLen = strTemp1.GetLength();
执行第一个代码行strTempW.Format(L”%c”, 0xFFFF)
后,我将获得长度为1的strTempW
,但在Visual Studio观察窗口中看不到它的第一个字符。
执行代码行strTemp1 += strTempW
后,我将获得长度为0的strTemp1
。
这对我来说很困惑。是否将0xFFFF视为有效的Unicode代码点?
答案 0 :(得分:9)
转到Unicode网站unicode.org/charts并在框中输入FFFF。它将为您提供PDF下载(UFFF0.pdf
此字符代码;不同代码的不同文件。)
您会发现U + FFFF不是有效的Unicode字符:
FFFF
<
不是字符>
- 保证值FFFF不是所有
的Unicode字符
答案 1 :(得分:3)
正如this中所述,答案不是,它是一个保留的非角色。