windows API的字符串参数是什么编码
2013-09-14
展开全部
很好很重要的问题,《windows程序设计》在最前面就讲了这个问题,足以见这个问题的重要性 默认都是ASCII,除非你表明了是宽字符,他才回事Unicode比如CHAR s="hello";这个是ascii,加上结束符\0占6字节CHAR s=L"hello";这个有标示符,是Unicode,占12字节为了保证windows版本向下兼容,windows把大部分api设计成两个版本,一个a版,一个w版以MessageBox为例,假如没有标示windows在你调用时会自动调用MessageBoxA函数,假如你标明了是宽字符他会自动帮你调用MessageBoxW函数这个我建议你最好找个逆向工具,逆向现成的程序,你会发现找不到MessageBox这个函数调用,大都是MessageBoxAwindows就是这样工作的,基本上记不太清了,有错误的地方欢迎指正
2013-09-14
展开全部
不管你用ASCii或UNICODE 最后到系统内核时系统都要把它转成UNICODE。ASCII不能编码汉字 他是一个字节的 汉字需要2个字节 即UNICODE (宽字节)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询