UNICODE和_UNICODE的区别

经google,找到如下:

The plain versions without the underscore affect the character set the Windows header files treat as default. So if you define UNICODE, then GetWindowText will map to GetWindowTextW instead of GetWindowTextA, for example. Similarly, the TEXT macro will map to L"..." instead of "...".

The versions with the underscore affect the character set the C runtime header files treat as default. So if you define _UNICODE, then _tcslen will map to wcslen instead of strlen, for example. Similarly, the _TEXT macro will map to L"..." instead of "...".

Looking into Windows SDK you will find things like this:

#ifdef _UNICODE#ifndef UNICODE#define UNICODE#endif#endif

以上大意就是:没带下划线的UNICODE主要是针对Windows的头文件。

带下划线的_UNICODE主要是针对C运行库的。

所以自定义时,最好两种都应定义。

时间: 2024-10-13 10:06:34

UNICODE和_UNICODE的区别的相关文章

UNICODE与ANSI的区别

什么是ANSI,什么又是UNICODE呢?其实这是两种不同的编码方式标准,ANSI中的字符采用8bit,而UNICODE中的字符采用16bit.(对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和中文的字符都以双字节存放)Unicode码也是一种国际标准编码,采用二个字节编码,与ANSI码不兼容.目前,在网络.Windows系统和很多大型软件中得到应用.8bit的ANSI编码只能表示256种字符,表示26个英文字母是绰绰有余的,但是表示汉字,韩国语等有着

关于ANSI,unicode与utf-8的区别

关于ANSI,unicode与utf-8的区别 非常好的一篇文章,值得一看,特转之 关于编码ansi.GB2312.unicode与utf-8的区别 先做一个小小的试验: 在一个文件夹里,把一个txt文本(文本里包含“今天的天气非常好”这句话)分别另存为ansi.unicode.utf-8这三种编码的txt文件.然后,在该文件夹上点击右键,选择“搜索(E)…”. 搜索“天气”二字,可以搜索出ansi和unicode这两种编码的txt文件,搜索不出utf-8编码的文件. 原因: 1.中文操作系统默

从字符集发展史看Unicode和UTF-8的区别

从字符集发展史看Unicode和UTF-8的区别 版权声明 本文并非本人原创,其内容来源于网络,本文根据其演绎而来,具体出出已经无法考证,在这里只好给出我所参考的连接. 知乎 https://www.zhihu.com/question/23374078/answer/69732605 于洋的回答 ASCII编码 我们都知道计算机来源于美国,并且计算机它比较笨,只知道 0 和 1 也就是电路的通和断(0或1即是一个二进制位).那么美国人怎么使用计算机来存储他们的信息呢? 他们想了一个办法.将8个

论GBK、Unicode、UTF-8的区别

记得自己刚学计算机的时候,经常听到GBK,Unicode,UTF-8等编码,当时懵懵的,总是把GBK和Unicode搞混,那么这些编码到底有什么区别呢? 这还得从计算机的来由说起. 很久很久以前,当计算机刚刚发明的时候,由于计算机只能接受2进制的数据,美国人民为了交流方便,约定了一套编码,他们用8根可以开合晶体管来表示不同的状态,一 共可以组成 2^8 种不同的状态,他们将A.B.C.D ...这些字母以及一堆奇奇怪怪的符号 (刚好128个字符,半个字节的长度,为了防止以后需要为新的符号编码,于

Unicode和Ascii的区别

①ASCII就是编码英文的26个字母和一些常见的符号,之后扩展了一半.总之是一个字节来做编码,大于128的部分是一些特殊符号.但ASCII是无法编码别的东西的,比如说是不存在"中文的ascii码需要2个字符"这种说法的.ASCII就只有一个字节. ②Unicode是足够编码地球上所有的语言了,所以ASCII中所能表示的,Unicode当然全部包括了.Unicode本身是只有2个字节的,之所以出现UTF-8,UTF-16等等之类,那是为了针对不同的应用环境,提高整体编码效率,比如如果某篇

Ansi,UTF8,Unicode,ASCII编码的区别 ---我看完了 明白了很多

来自:http://blog.csdn.net/xiongxiao/article/details/3741731 ------------------------------------------------------------------------ 近日需要不同的编码,关于上述编码,一直迷迷糊糊,查了些资料,总算大致了解了,下面全是从网上搜来的: 1.  ASCII和Ansi编码    字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码

简单的看Unicode和UTF-8的区别

作者:uuspider链接:http://www.zhihu.com/question/23374078/answer/65352538来源:知乎著作权归作者所有,转载请联系作者获得授权. 举一个例子:It's 知乎日报 你看到的unicode字符集是这样的编码表: I 0049 t 0074 ' 0027 s 0073 0020 知 77e5 乎 4e4e 日 65e5 报 62a5 每一个字符对应一个十六进制数字. 计算机只懂二进制,因此,严格按照unicode的方式(UCS-2),应该这样

Unicode 和 UTF-8 的区别,你能说出来吗?不能或许要开小灶了!

不知道大家平时在学习Python的过程有没有注意过Unicode 和 UTF-8 呢?,Unicode 和 UTF-8 的概念虽然是非常基础的,但是却极其重要,今天我们就来探讨探讨Unicode 和 UTF-8 的概念. 想学Python或者对Python感兴趣的老铁,可以加群571799375,群里有适合Python初学者学习的资料(2018最新版Python资料),免费送给大家! 字符集 在计算机系统中,所有的数据都以二进制存储,所有的运算也以二进制表示,人类语言和符号也需要转化成二进制的形

字符编码中ASCII、Unicode和UTF-8的区别

最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122. 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去. 你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码.