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

时间:2013-12-22 23:58:41

标签: c++ unicode

我只是想知道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代码点?

2 个答案:

答案 0 :(得分:9)

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

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

  

FFFF <不是字符>

     
      
  • 保证值FFFF不是所有
  • 的Unicode字符   

答案 1 :(得分:3)

正如this中所述,答案不是,它是一个保留的非角色。