zoukankan      html  css  js  c++  java
  • 04Windows中的字符类型

    1. Windows 中常用的数据类型定义
    //WinNt.h中定义
    typedef unsigned short wchar_t;		//A 16-bit character
    typedef char CHAR;					//An 8-bit character
    typedef wchar_t WCHAR; 				//A 16-bit character
    
    //Pointer to 8-bit character(s)
    typedef CHAR *PCHAR;
    typedef CHAR *PSTR;
    typedef CONST CHAR *PCSTR
    
    //Pointer to 16-bit character(s)
    typedef WCHAR *PWCHAR;
    typedef WCHAR *PWSTR;
    typedef CONST WHCAR *PCWSTR;
    
    //利用这些类型和宏来写代码,乌龙使用 ANSI 还是 Unicode 字符,它都能通过编译。
    #ifdef UNICODE
    typedef WCHAR TCHAR, *PTCHAR, PTSTR;
    typedef CONST WCHAR *PCTSTR;
    #else
    typedef CHAR TCHAR, *PTCHAR, PTSTR;
    typedef CONST CHAR *PCTSTR;
    #endif
    
    2. 为何要用 Unicode 进行开发
    • Unicode 有利于应用程序的本地化。
    • 使用 Unicode,只需发布一个二进制(.exe 或 DLL)文件,即可支持所有语言。
    • Unicode 提升了应用程序的效率,因此代码执行速度更快,占用内存更少。Windows 内部的一切工作都是使用 Unicode 字符和 Unicode 字符串来进行的。所以,假如我们坚持传入 ANSI 字符或字符串,Windows 就会被迫分配内存,并将 ANSI 字符或字符串转换为等价的 Unicode 形式。
    • 使用 Unicode,应用程序能够轻松调用所有尚未弃用(nondeprecated)的 Windows 函数,因为一些 Windows 函数提供的版本只处理 Unicode 字符和字符串。
    • 使用 Unicode,应用程序的的代码很容易与 COM 集成(后者要求使用 Unicode 字符和 Unicode 字符串)
    • 使用 Unicode,应用程序的的代码很容易与 .NET Framework 集成(后者要求使用 Unicode 字符和 Unicode 字符串)。
    • 使用 Unicode,能保证应用程序的代码能够轻松操纵我们自己的资源(其中的字符串总是 Unicode 形式的)。
    道虽迩,不行不至;事虽小,不为不成。
  • 相关阅读:
    知识付费时代:屌丝程序员如何用技术实现
    过完年了,要不要辞职?
    程序猿不得不知道的业内“黑话”
    Go 2 Draft Designs
    11 Go 1.11 Release Notes
    10 Go 1.10 Release Notes
    09 Go 1.9 Release Notes
    win10系统电脑无法识别u盘的解决办法
    IDEA导入Git项目后右键项目找不到Git选项的解决方法
    Redis在windows下安装与配置
  • 原文地址:https://www.cnblogs.com/rock-cc/p/9419045.html
Copyright © 2011-2022 走看看