0xFFFF是一个有效的Unicode字符吗?

ala*_*ncc 2 c++ unicode

我只是想知道0xFFFF是否是一个有效的Unicode字符.

当我使用以下代码时:

CStringW strTempW;
CString strTemp1;
INT_PTR nLen;

strTempW.Format(L"%c", 0xFFFF);
nLen = strTempW.GetLength();

strTemp1 += strTempW;
nLen = strTemp1.GetLength();
Run Code Online (Sandbox Code Playgroud)

执行第一个代码行后strTempW.Format(L”%c”, 0xFFFF),我将得到strTempW长度为1,但在Visual Studio监视窗口中看不到它的第一个字符.

执行代码行后strTemp1 += strTempW,我将得到strTemp1长度为0.

这对我来说很困惑.是否将0xFFFF视为有效的Unicode代码点?

Jon*_*ler 10

转到Unicode网站unicode.org/charts并在框中输入FFFF.它将为您提供PDF下载(UFFF0.pdf对于此字符代码;不同代码的不同文件).

您会发现U + FFFF不是有效的Unicode字符:

FFFF <不是一个角色>

  • 保证值FFFF根本不是Unicode字符