Windows Internals 筆記——字元和字串處理

來源:互聯網
上載者:User

標籤:post   com   返回   unicode   code   int   項目   轉換   class   

1.自Windows NT起,Windows的所有版本都完全用Unicode來構建,調用Windows函數時,如果向它傳入一個ANSI字串,那麼函數首先會把字串轉換為Unicode,再把結果傳給作業系統。如果希望函數返回ANSI字串,那麼作業系統會先把Unicode字串轉換為ANSI字串,再把結果返回給我們的應用程式。所以系統會產生時間和記憶體上的開銷。

 

2.所有需要字串作為參數的COM介面方法都只接受Unicode字串。

 

3.預設情況下,在VS中建立一個C++項目時,已經定義了_UNICODE(就像已經定義了UNICODE一樣)。針對不屬於C++標準庫一部分的標識符,C運行庫始終會為它們附加底線首碼。但是,Windows團隊並沒有這麼做,所以,在應用程式中,應確保要麼同時定義了UNICODE和_UNICODE,要麼一個都不要定義。

Windows Internals 筆記——字元和字串處理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.