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 形式的)。
    道虽迩,不行不至;事虽小,不为不成。
  • 相关阅读:
    7.20 高博教育 方法
    7.20 高博教育 随机数字(练习)
    7.17 高博教育 流程控制02
    7月17号 高博教育 复习加逻辑运算符
    7月16号 高博教育 知识扩展
    7月16号 高博教育 知识点总结
    7月16号 高博教育 数据运算符和比较运算符
    链式线性表——课上练
    顺序线性表——课上练
    链栈——课上练
  • 原文地址:https://www.cnblogs.com/rock-cc/p/9419045.html
Copyright © 2011-2022 走看看