UNICOD、MBCSコードの文字列の違い
3542 ワード
1:SBCS(single byte character set)シングルバイト文字セット.この符号化フォーマットでは、すべての文字が1バイトで表されます.ASCIIコードは1バイト文字です.1バイトの終了を「0」で表します.2:Unicodeは、すべての文字が2バイト符号化された符号化モードである.Unicode文字は、ワイド文字とも呼ばれることがある.3:MBCS(multi-byte characters set)マルチバイト文字セット.WindowsではMBCSには、シングルバイト文字(single byte characters)とダブルバイト文字(double byte characters)の2つの文字タイプが含まれています.Windowsで使用されるマルチバイト文字のほとんどは2バイト長であるため、MBCSはDBCSに取って代わられることが多い.
MBCSコード
Unicodeコード
MBCSコード
1 CString strName1 = _T(" ");
2 int nLen = strName1.GetLength(); // 4
3
4 _bstr_t bstrName1 = (_bstr_t)strName1;
5 nLen = bstrName1.length(); // 2
6
7 CString strName2 = _T("abcd");
8 nLen = strName2.GetLength(); // 4
9
10 _bstr_t bstrName2 = (_bstr_t)strName2;
11 nLen = bstrName2.length(); // 4
Unicodeコード
1 CString strName1 = _T(" ");
2 int nLen = strName1.GetLength(); // 2
3
4 _bstr_t bstrName1 = (_bstr_t)strName1;
5 nLen = bstrName1.length(); // 2
6
7 CString strName2 = _T("abcd");
8 nLen = strName2.GetLength(); // 4
9
10 _bstr_t bstrName2 = (_bstr_t)strName2;
11 nLen = bstrName2.length(); // 4