• 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 形式的)。
    道虽迩,不行不至;事虽小,不为不成。
  • 相关阅读:
    凸包Graham Scan算法实现
    人与人之间的差距是从大学开始的
    google笔试题两个n维数组logn求中位数问题 zz
    matlab中使用结构体
    人脸识别理论与应用研究 zz
    如果让我再读一次研究生 zz
    Open Yale CourseFinancial MarketNote1 zz
    哈尔小波变换示例
    全屏模式 硬缩放
    APE结合键盘控制角色运动 转
  • 原文地址:https://www.cnblogs.com/rock-cc/p/9419045.html
Copyright © 2020-2023  润新知