[精]Windows核心编程学习笔记(4) Windows中的Unicode函数和ANSI函数

在这里插入图片描述大家好,我是米兰,一个五年级开始编程的小伙。我曾经研究过各种技术,在代码底层摸爬打滚,经历过无数次从入门到放弃的生活,感受过黑暗与毒打。如果你也有相同的经历和探究的问题,欢迎关注我,咱们共同探究,共同进步。在这里插入图片描述
今天我要分享给朋友们的笔记是《Windows核心编程学习笔记(4) Windows中的Unicode函数和ANSI函数》。为了方便各位朋友,下面我截取了本书的相关章节。
在这里插入图片描述在这里插入图片描述在这里插入图片描述因为这个版本是第四版的,所以有差错请谅解。而我阅读的是第五版,内容方面与第四版完全相同,所以各位读者不必担心。废话不多说,送货!在这里插入图片描述
Windows NT起,Windows的版本构建就发生了一个转折,Windows NT及其后的版本整个系统都是由Unicode构建的,所有的Windows核心函数都需要Unicode。若一个Windows函数的参数列表中含有字符串项,并且调用者传入了一个ANSI字符串,函数实际功能在发挥前会进行一系列的转换工作,先将传入的字符串转换成Unicode类型,只有当转换工作完成后,函数才会开始实际的工作。若该函数返回一个Unicode类型的字符串,系统会把原先处理完毕的Unicode字符串转换为ANSI字符串,再返回给应用程序。执行这一系列的转换都是肯定且需要的。为了实现这些操作,产生时间和内存上的开销是不可避免的。既然事实如此,在开始传入参数时改用传入Unicode字符串就可以最大程度地避免这些不必要的开销,但取用ANSI字符串或Unicode字符串还得依靠个人习惯,像我个人用惯了ANSI字符串改用Unicode字符串就很不适应,但在这里还是推荐大家使用Unicode字符串,具体原因就不再阐述了。如果一个Windows函数的参数列表有字符项,这种Windows函数就通常有两个版本:一个用于接收ANSI字符串,另一个用于接Unicode字符串。本文将继续源用书中的CreateWindowEx函数,该函数用于该函数用来创建一个具有扩展风格的层叠式窗口、弹出式窗口或子窗口,相信朋们做过Windows开发的朋友多少接触过,函数名的后缀Ex的表明这是一个扩展版本。相比于CreateWindow功能更丰富,关于扩展的内容在本章后端会有讲到。该函数的两个版本原形如下:

HWND WINAPI CreateWindowExA(
DWORD DdwExStyle
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值