程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 字符串在 UNICODE、MBCS編碼下面的區別,unicodembcs

字符串在 UNICODE、MBCS編碼下面的區別,unicodembcs

編輯:C++入門知識

字符串在 UNICODE、MBCS編碼下面的區別,unicodembcs


1:SBCS (single byte character set)單字節字符集。在這種編碼格式下,所有字符都用一個字節表示。ASCII碼就是單字節字符。用“0”來表示一個字節的結束。
2 :Unicode 是一種所有的字符都使用兩個字節編碼的編碼模式。Unicode 字符有時也被稱作 寬字符。
3:MBCS (multi-byte characters set)多字節字符集。在windows裡面 MBCS 包含兩種字符類型:單字節字符(single byte characters)和雙字節字符(double byte characters)。 由於windows裡使用的多字節字符絕大部分是兩個字節長,MBCS常被DBCS代替。

 

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved