windows程序设计01utf8编码问题荷楠仁

utf8是unicode的一种实现方式.windows95及以前,还没有unicode,更没有utf8.所以在windows95及以前微软自己定义了一套解决多国语言的规则(mbcs),因为windows95的巨大成功,大量程序都是用的微软自己定义国语言规则.到windowsnt的时候unicode已经出现,所以的windowsnt的内核用了unicode编码(UCS-2),内核彻底解决了多国语言.但是为了和已有代码兼容,windows没有把自己的mbcs废除.mbcs用到什么时候现在还在用.到VS2017,mbcs还是微软解决的多国语音问题的默认方式.在VS2013的时候,微软建议过不要再使用mbcs(参考资料5),以后的版本可能不再提供.但用户不干了,因为太多的程序是用mbcs的方式,修改成unicode成本太大.所以到VS2015,mbcs又回来了,并且宣布以后的版本继续支持mbcs.微软那个纠结呀.

VS2013及以前微软的编译器cl只能支持utf8withbom(或者是用mbcs的方式,中文用cp936),一直到到vs2015或者vs2017,cl才有一个指定源代码字符编码的选项/source-charset,vs2015以前都没有.vs2015以前用vs写c语言程序用utf8编码(没有bom)会有很多问题.总之感谢微软,latebetterthannever!

假设vs2017的安装目录是%VS_HOME%,则用vs打开下面2个文件

%VS_HOME%\Common7\IDE\VC\vcprojectitems\hfile.h%VS_HOME%\Common7\IDE\VC\vcprojectitems\newc++file.cpp在这2个文件中加入一行中文注释,如

//utf8编码然后选择"高级保存选项",然后在编码中选择utf8(无签名)65001.这样再新建文件时,编码都是utf8.

看C00CmdHelloWorld.c的代码:

//编码设置为utf-8#include#includeintmain(){ char*a="hello"; char*b="您好"; printf("%ssizeis%d\n",a,strlen(a)); printf("%ssizeis%d\n",b,strlen(b)); getchar(); return0;}有2种方式编译运行.

clC00CmdHelloWorld.c/source-charset:utf-8C00CmdHelloWorld输出为

hellosizeis5您好sizeis4//编码设置为utf-8#include#include#includeintmain(){ _wsetlocale(LC_ALL,L""); wchar_t*a=L"hello"; wchar_t*b=L"您好"; printf("%lssizeis%d\n",a,wcslen(a)); printf("%lssizeis%d\n",b,wcslen(b)); getchar(); return0;}这个代码"hello"的长度是5,"您好"的长度是2.wchar_t表示以双字节的方式保存字符.windows用的UCS-2,即以2个字节保存一个字符.这和python2是一样的.但是要兼容以前的程序,单字节的api不能废除掉.微软用了一个技巧,同样一份代码,当没有定义UNICODE宏的时候,使用单字节的api,定义UNICODE宏的时候使用双字节的api.细节见参考资料4的第2章.C00CmdHelloWorld1.c没有用微软这个技巧,显示地指定了用双字节的api.什么时候使用微软这个技巧,什么时候不用个人建议:

//C03UnicodeMsg.c编码设置为utf-8#include#include#includeintWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance, PSTRszCmdLine,intiCmdShow){ TCHARszBuffer[100]; TCHAR*a=TEXT("a中国b"); wsprintf(szBuffer,TEXT("a中国b,len=%d"),_tcslen(a)); MessageBox(NULL,szBuffer,TEXT("Helloworld汉字"),MB_OK); return0;}编译这个程序的命令为:

cluser32.libgdi32.lib/DUNICODE/source-charset:utf-8其中UNICODE就微软定义的宏.这个宏存在时TCHAR被定义为wchar_t,这个宏不存在时,TCHAR被定义为char.

THE END
1.王宁写好了#签名设计王宁(1961年)硬笔书法东亚书法2023-04-29 05:13:51晓然巧手写签名辽宁 0:00/0:00 速度 洗脑循环 Error: Hls is not supported. 视频加载失败 晓然巧手写签名 1066粉丝每天更新艺术设计签名 00:09刘峰写好了 #签名设计 00:08武川写好了 #签名设计 00:10李小波,你的名字写好了请惠存! https://www.163.com/v/video/VA2HM4VE2.html
2.我在赛大家发布的晒一晒!逻辑思维:初次尝试集字字典,感觉真好用,特快捷,爽! 更多书友对字典的评价(点击查看) 点击进入赛大家书法集字字典 很多书法家,都用赛大家 用了赛大家,书法赛大家 赛大家字库丰富,高清,排版灵活 独具简繁体及异体字辨析功能 赛大家字典,让书法创作更轻松 免费注册后,可一次查更多字 转发分享给群友,让更多人早日受http://image.51sdj.com/sai.php?do=person_info&tid=139964
3.希望书法图片希望书法设计素材红动中国素材网提供23个希望书法图片、希望书法素材、希望书法背景、希望书法模板、希望书法海报等PS素材下载,包含PSD、AI、PNG、JPG、CDR等格式源文件素材,更多精品希望书法设计素材下载,就来红动中国,最后更新于2024-12-09 19:10:38。 希望书法图片相关推荐: 希望书法字 毛笔书法字体 书法画册 矢量书法字体 书法https://so.redocn.com/shufa/cfa3cdfbcae9b7a8.htm
4.刘佑局:书法艺术的传承者与创新者市场观察时时关注艺术、市场、经济、法律等方面动态,为用户提供最新资讯,定期发布艺术市场观察文章,解析各地艺术市场最新资讯、行情走势等,定期发布艺术家市场分析报告,解析艺术家市场行情、市场走势、收藏分布及市场预测等 、 刘佑局:书法艺术的传承者与创新者https://amma.artron.net/observation_shownews.php?newid=1137703
5.关于中学生行为规范的主题班会(通用11篇)赵勇:我有急事(王金磊甩头就跑) 场景三:迟到万岁 (早自修时间已过了一半,赵勇不紧不慢地走向校门口) 保安:这位同学你的'校服呢? 赵勇:没有,丢了 (很随意地在迟到签名簿上划了几下,字迹非常模糊,正待保安要喊住时候,甩头就跑,在旁边草地上随口吐了一口唾沫) https://www.yjbys.com/cehuashu/zhutibanhui/1820324.html
6.个性签名设置(通用18篇)摘要:作业是课堂教学的延续, 是学生对所学知识的巩固和提高。本文重点从作业的分层设计和作业设计时的灵活原则两点来谈如何让作业的设置符合学生的个性, 利于学生的发展。 篇4:将WLM的签名设置为个股行情 第一步:访问http://www.xiaoi.com/alerts/,将“小i机器人伴侣”下载回来,安装完成之后并自动运行,当然你还https://www.360wenmi.com/f/filehoz06b72.html
7.关于公布我校2020(3)部分课程试卷袋、封面、命题审批表、考场情况记录表、试卷分析表等归档材料填写有错漏、缺少签名(或非手写签名)或日期等。20旅管与服务《现代礼仪》(邹蔚菲);20物流2《经济学》洪冬青;19金融3《财务报表分析》(吴伟雄);19车辆5《C语言程序设计》(曾海洋);18法学3《房地产法》(于定勇);19美术师1,2《构图https://www.gpnu.edu.cn/info/1039/25909.htm
8.云平台论文范文12篇(全文)[5]刘吉强,赵佳,赵勇.可信计算中远程自动匿名证明的研究[J].计算机学报,2009,32(7):1304-1310. [6]鲍皖苏,隗云,钟普查.原始签名人匿名的代理环签名研究[J].电子与信息学报,2009(10):2392-2395. 简析网络云平台系统 第10篇 虚拟化层:大多数云基础环境建设都会广泛使用虚拟化技术, 包括计算终端虚拟化、数据https://www.99xueshu.com/w/ikeybokw19nt.html
9.四川省公共资源交易信息网项目负责人施工:马维学;设计:王丽施工:二级建造师注册证书、安全生产考核合格证书;设计:一级注册建筑师注册证书、职称证书施工:川2512015201805776、川建安B(2012)0190796;设计:20165101648、(2020)11120057施工:无;设计:建筑施工:无;设计:高级工程师 项目技术负责人设计:杜勇先;施工:赵勇设计:一级注册建筑师注册证书、https://ggzyjy.sc.gov.cn/jyxx/002001/002001006/20230525/87c55a31-fcc3-4bd3-9c16-cf892b65d356.html
10.好玩的好设计(豆瓣)好玩的好设计 作者:赵勇权 出版社:中国青年出版社 副标题:把54个美学灵感装进游戏盒子 出版年:2021-3 页数:284 定价:268.00元 装帧:精装 ISBN:9787515362168 豆瓣评分 9.0 82人评价 5星 51.2% 4星 36.6% 3星 9.8% 2星 1.2% 1星 1.2% 评价: 写笔记https://book.douban.com/subject/35361721
11.设计策划方案(合集15篇)设计策划方案(合集15篇) 为了确保事情或工作科学有序进行,常常需要预先准备方案,方案是从目的、要求、方式、方法、进度等方面进行安排的书面计划。那么问题来了,方案应该怎么写?以下是小编精心整理的设计策划方案,希望对大家有所帮助。 设计策划方案1 洞察需求 做好定位 显然,那些在没有清晰地市场调研之前就根据感觉https://www.ruiwen.com/shejifangan/6728571.html
12.国家体育总局副局长赵勇一行调研昆明嘉丽泽高原体育运动小镇赵勇副局长在昆明嘉丽泽高原体育运动小镇实地调研考察,仔细听取了嵩明县和嘉丽泽高原体育特色小镇的基本情况介绍,并详细了解项目的设计理念、布局构造和未来规划建设发展,对现有建设产业配套项目提出了能够促使体育小镇快速发展的建议。 赵勇副局长参观足球训练基地、签名留念 https://m.kunming.cn/news/c/2018-05-21/10516643.shtml
13.#yyds干货盘点#信息安全技术信息系统等级保护安全设计本标准主要起草人:厉剑、范红、胡志昂、吉增瑞、张洪斌、金丽娜、赵勇、韩煜、赵会敏、苏智睿、张红旗、杜学绘、韩勇桥、王超、连一峰、胡俊、刘鑫、李理、刘卫国、王云、王茹。 引言 《中华人民共和国计算机信息系统安全保护条 例》(国务院令第147号)明确规定我国“计算机信息系统实行安全等级保护”。 依据 国务院 147号https://blog.51cto.com/pysx0503/4652564
14.极品家人苏媚和赵勇小说阅读全文「じゃあ何故そんなことするの」马斯克为两人颁发“百万美元大奖”抽奖范围逐步扩大已诞生两位“百万现金”得主据了解,该请愿书要求签名者支持美国宪法,尤其是第一修正案和第二修正案保障的金晓明曾长期在浙江省任职金晓明出生于1975年11月,浙江绍兴人,中共党员,浙江水产学院机械设计与制造专业毕业,大学学历,浙江大学公共管理硕士。金晓明长期在浙江http://news.hfhome.cn/Soft/REH0DhpGM4lZU3uS/index.shtm
15.基于JavaWeb的在线考试系统的设计与实现开题报告任务书ppt例如,南京信息工程大学的赵勇等人设计了一套基于JavaWeb的在线考试系统,该系统实现了试卷生成、试卷评分、成绩统计等功能。另外,武汉科技大学的杨璐等人设计了一套基于B/S结构的在线考试系统,该系统采用Java技术,实现了考试试卷生成、试卷评分、成绩统计等功能。在国外,也有不少相关的研究成果。例如,美国明尼苏达大学的https://blog.csdn.net/laojin1234/article/details/142736027
16.三圣特材:国泰君安证券股份有限公司关于公司发行股份及支付现金52 赵勇 0.230% 195.88 - - 195.88 53 余家俊 0.222% 188.39 - - 188.39 54 孙勇 0.207% 176.29 - - 176.29 55 王仕江 0.203% 172.44 - - 172.44与其原始资料或原件一致;所有文件的签名、印章均是真实的,不存在 任何虚假记载、误导性陈述或者重大遗漏。 春瑞医化全 3、本人保证为本次交易所出具的说明https://stock.stockstar.com/notice/JC2016051600004906_10.shtml
17.大宇神秘惊奇1内容简介 2人物介绍 大宇 刘畅 赵勇 李伦 3小说特色 4作品鉴赏 5升级版 6系列 第一季 第二季 第三季 7剧情简介 8小说推荐 9影响 10同名小说 11词条大宇等人为了一探究竟,先后来到了林若思的家中,没想到却一个接一个地掉入了林若思的继母精心设计的圈套之中。这个家庭里究竟发生了什么样的悲惨故事?林https://baike.sogou.com/v7608994.htm
18.计算机工程与应用针对以往二项式算法只在静态网络环境下研究,与实际网络环境差别较大的情况,设计动态环境的网络拓扑,模拟分析了几种不同参数的"TCP兼容"的二项式算法的性能表现。NS仿真结果表明,对于实时流媒体等应用,适当的选取二项式算法的参数不仅能满足应用的需求,又能保证与TCP更好的兼容性。2010年34期 v.46;No.701 82-84+http://www.jsgg.cbpt.cnki.net/WKC/WebPublication/wkTextContent.aspx?colType=4&yt=2010&st=34