windows程序设计01_utf8编码问题】的更多相关文章

坚持与妥协 从学程序的第一天老师就给我们说源代码应该使用utf8保存.因为先入为主,"源代码应该使用utf8"的观念已经在"学院派"出身的程序员脑子里根深蒂固.如果您固执地坚持自己的信仰,坚信源代码应该并且只应该用utf8保存,决不向任何工具或者人妥协!那么恭喜您,可以看看这个文章. VS2013及以前 utf8是unicode的一种实现方式.windows95及以前,还没有unicode,更没有utf8.所以在windows95及以前微软自己定义了一套解决多国语言…
刚开始学习Windows程序设计,磕磕碰碰,先做个小笔记缓缓神经,主要是将MessageBox这个Windows API函数的. MessageBox函数是许多人刚开始学习Windows程序设计或者是Windows API遇到的第一个内置函数,这个函数使用的方式是: MessageBox(NULL, TEXT("弹出框内容"), TEXT("标题"), MB_OK); 初次之外,它还有几个姐妹: MessageBoxA(NULL, "弹出框内容"…
一.Win32 API /******************************************************************** created: 2014/04/14 15:30 filename: WinMain.c author: Justme0 (http://blog.csdn.net/justme0) purpose: Win32 API ********************************************************…
最近一直在看Charlse Petzold的<Windows程序设计>,作为一个新得不能再新的新手,只能先照着书的抄抄源码了,之前的例子一直都很正常,但昨天遇到一个很诡异的BUG. 先看实例源码吧: /*----------------------------------------------------------------- ENVIRON.C -- Environment List Box (c) Charles Petzold,1998 Copy by XXXX,2015/1/26…
#include <windows.h> #include "resource.h" LRESULT CALLBACK MyWndProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMai…
2014.05.06 新建一个visual C++ -- 常规 -- 空白 的项目,用.c后缀名指定这是一个用C语言来写的windows项目.和C语言的hellworld程序做了一个比较,按照windows程序设计规定的入口函数名称.函数参数.参数传递方式等写个入口函数,并弹出一个MessageBox.…
书签:另外跳过的内容有待跟进 __________________学习资源: <Windows程序设计第5版珍藏版> __________________知识基础支持: _________________ 跳过的内容: 1. ______________知识要点: 1: ______________注意事项: 1. ______________ 不理解知识点: 1. ______________ 进度: 1.2013-06-15 第8章 计时器 结束,接下来调整一下方向,先不看第9章子窗口控件…
本人近期在网上找到了<MFC Windows程序设计>第二版的书内程序的源代码,特意上传CSDN上面,供学习MFC的程序猿们免费下载. 源代码下载: http://download.csdn.net/detail/bboot/7486011 还有该书的电子版下载地址: http://download.csdn.net/detail/bboot/7490781…
看windows程序第五章GDI编程部分.一直卡壳在这里了. 下面我来说下自己的想法.看是否对您有帮助. 首先我们来看一个图. SetPolyFillMode(ALTERNATE);  // 系统默认就是这种填充模式 如图所示:数字代表绘制图形点的先后次序. 现在.我们先从外面假设来一条射线,(当然了.我看到很多文章.说的都是屏幕水平方向的扫描线.) 对于这种模式.射线穿过奇条边框线时,则填充该边框线区域,穿过偶数条边框线时,则不填充. 大家对照上图的射线.很简单的就理解了“ALTERNATE”…
大家好,非常高兴和大家一起分享Windows开发心得,Windows已经诞生很多年了,一直因为它的简单易用而深受欢迎,相信很多人在使用Windows的时候,一定有这样一个想法:希望自己将来可以写一个很受欢迎的Windows程序,像QQ,迅雷,鲁大师一样,深受大家喜爱的软件,无论你的初衷是什么,我都会满足你的愿望,用最简单易懂的方式,带领大家走入Windows编程的魔幻世界,为大家插上理想的翅膀. 今天,我们先来简单介绍一下Windows程序设计的相关知识,为后面内容的介绍奠定基础.在Window…
愉快的开始 让编程改变世界 Change the world by program  参考教材 购买链接:Windows程序设计(第5版)(珍藏版)(附CD-ROM光盘1张)  学习环境 视频演示:WIN8 + VS2013Express 最低要求:XP + VC6 学习要求 1. 需要有C语言的基础: 2. 知道或者听说过数据结构是编程的内功心法,对于写出好程序很重要: 3. 懂得光看不练等于零这个道理. 教学安排 0. 课后作业 1. 扩展阅读 2. 知识点备忘 3. 典型案例分析 4. 阶…
学习Windows程序设计也有一些时间了,为了记录自己的学习成果,以便以后查看,我希望自己能够坚持写下一系列的学习心得,对自己学习的内容进行总结,同时与大家交流.因为刚学习所以可能有的地方写不不正确,希望大家能够指出. 在学习了一定的Windows API后我决定进入到一些基础的学习,希望能够学习一些原理性的知识,能够做到知其然的同时知其所以然.为了达到这个目的,这段时间我学习了一些计算机的基础知识,在这写下这篇博客,总结一下. 在早期的16位8086CPU中我们使用段与段内的偏移偏移的方式寻址…
Windows程序设计(第5版) windows程序需要调用API. 第一个Windows程序 /*HelloMsg.c -- Displays "Hello World!" in a message box*/ #include <Windows.h> int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int n…
CPU保护模式与Windows系统 1 Windows多任务 2 虚拟内存 3 处理器的特权级别 内核对象 1 内核对象有什么用 2 对象句柄 3 使用计数 1 CPU保护模式与Windows系统 80386的CPU有3种工作模式:实模式.保护模式.和虚拟86模式.其中实模式和虚拟86模式是为了兼容8086CPU而设置的.保护模式是其主要的工作模式.Windows操作系统就运行在保护模式,而保护主要指的就是对存储器(内存和寄存器)的保护,意味着对存储器的读写是受限制的. 1.1 Windows多…
Windows程序设计之前 1 做什么 2 解决什么问题 3 有哪些资源 在开始真正的编程之前,需要了解要做的事情是什么,要解决的解决的问题是什么,有哪些资源可以使用. 1 Windows程序设计之前 1.1 做什么? 我们要在Windows平台上来写程序,使用Win32 API不是唯一的方法,但确是必经之路. 1.2 解决什么问题 多数人开始接触Windows编程时,是从Visual Basic开始的,然后MFC,虽然写一些软件和程序,但可能还不清楚程序是如何运行的.从而造成程序的维护特别难.…
在看雪论坛上看到的一个帖子,很喜欢,转载一下.原文地址:http://bbs.pediy.com/showthread.php?t=138630哆啦A梦是画出来的,不知道作者算这些坐标位置算了多久,真的很犀利.记得原来看<Windows程序设计>的时候,每次看到GDI都不是很理解,也没有仔细去研究.现在编程也很少与GDI打交道,还是等以后有空了在深入了解一下吧.把这个代码转载一份到博客,以后再回头研究一下.顺便贴一下程序运行后的截图:(很酷吧~~~)字数补丁~代码疯子~程序人生~字数补丁~代码…
<Windows程序设计>(第五版)(美Charles Petzold著) #include<windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdline,int iCmdShow) //第一个参数是实例句柄,在Windows程序中,句柄就是一个数值,程序里用它来标志…
本文整体目录和绝大部门内容来自 [鸡啄米网站]的MFC系列文章,欢迎支持原创 (一)VS2010/MFC编程入门之前言 VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台 VC++不仅是一个编译器更是一个集成开发环境,包括编辑器.调试器和编译器等,一般它包含在Visual Studio中 因为VC++ 6.0以后的版本不再有独立的安装程序,所VC++ 6.0以后的版本不叫VC++ 7.0等等,而是…
代码页是字符集编码的别名,也有人称"内码表".早期,代码页是IBM称呼电脑BIOS本身支持的字符集编码的名称.当时通用的操作系统都是命令行界面系统,这些操作系统直接使用BIOS供应的VGA功能来显示字符,操作系统的编码支持也就依靠BIOS的编码.现在这BIOS代码页被称为OEM代码页.图形操作系统解决了此问题,图形操作系统使用自己字符呈现引擎可以支持很多不同的字符集编码. 早期IBM和微软内部使用特别数字来标记这些编码,其实大多的这些编码已经有自己的名称了.虽然图形操作系统可以支持很多…
http://blog.csdn.net/haiross/article/details/36189103 可以先看下这篇文章..写的比较用心和详细并且高深..我只是记流水账的. 直到今天我才注意到 shell 采用不同编码会导致这么蛋疼的问题..这半天时间算是认栽了吧.. 首先,Windows的默认编码为GBK,Linux的默认编码为UTF-8.看图: 这个是 Linux shell 的活动代码页编码: 这个是 windows powershell 的: 936 既是 GBK. 而在 Scra…
一.几个常用小工具: 1. 编译器:CL.EXE   将源文件转变为目标文件(汇编语言). CL.EXE  /c  xxx.c  或   xx.cpp cl.exe  -? 显示cl帮助 cl.exe  /c  只编译不链接 cl.exe  /Tc  编译c文件 cl.exe  /l   头文件路径 链接器:LINK.EXE  将目标文件转变为二进制文件(机器语言).   LINK.EXE  xxx.obj  user32.lib  xxx.lib等需要的相关库文件(link.exe   ***…
知识点 双字节字符集和Unicode字符集有何区别?采用双字节字符集有何问题 双字节字符集(DBCS)编码是0-255,DBCS含有1字节代码与2字节代码,而Unicode是统一的16位系统,这样就允许表示 65536个字符.Unicode中的每个字符都是16位宽而不是8位宽.在Unicode中,8位二进制表示一个数值已没意义,而在双字节字符集中仍然 处理8位数值. 双字节字符集并不是所有字符由两个字节代表,这会引起附加的程序设计问题,例如字符串的长度计算.而且处理双字节字符集非常复杂. 什么叫…
一直以来都是使用[右键->新建->文本文件]的方法来新建一个代码文件,但是存在一个问题新建的文件是大小为0字节的.对于大小为0字节的文件文件,文本编辑器一般都使用MBCS编码,而MBCS编码不利于文件的跨系统.跨编辑器使用. 首先了解一下Windows系统[右键->新建]的机制. 1. 打开注册表 2. 展开HKEY_CLASSES_ROOT 3. 找到.txt子项,展开它,秘密就是ShellNew这个子项.所有有ShellNew子项的扩展名都会出现在[右键->新建]菜单中 4.…
第一章 起步 1,windows主要的三个动态库: kernel32.dll负责操作系统的传统工作,包括内存管理.文件输入以及任务管理等. user32.dll负责用户界面的操作,即所有窗口的管理 gdi32.dll为图形设备接口,负责在屏幕或者打印机上显示文本与图形   2,当windows程序运行的时候,通过一个叫做"动态链接(dynamic linking)"的进程与Windows接口.每个Windows的exe文件包含它所要用到的各个动态链接库以及库中的函数的引用地址,当一个W…
今天写一个工具,由于大部分人使用的机器都是windows,在和nodejs结合的时候出问题了. win命令行的编码格式是gbk,而nodejs支持的编码只有:utf8 ascii和base64,必须让他们融合         解决办法: 1 设置命令行输出字帖为支持"utf8"的字符 2 在批处理开始,设定提示符编码为utf8 chcp 65501 3 正常调用nodejs程序   写的这个小工具是:svn规范检测工具 任何一个前端规范不是说制定好了,就结束了,一定要有检测工具来推进,…
windows下py文件编码: 当print 时遇到unicode 会根据系统编码转换, 而raw_input 中的输出遇到unicode编码是不会的转码的,会报错UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordin al not in range(128) 因为uncode的编码的第一个字符大于128(0x7f) 下面的实验能证明: #coding:utf8 a=u'你好' print…
 我们发表了一篇介绍Windows Azure 存储如何用编码方式擦除数据的论文,此论文在 2012 年 6 月的 USENIX 技术年会上荣获最佳论文奖.这是 MicrosoftResearch 和 Windows Azure 存储团队共同努力的成果. 您可以在此处找到此论文. Windows Azure 存储是一个云存储系统,可使客户能够按任何期限无限量存储数据,使数据具备高可用性和持久性.在使用 Windows Azure 存储时,您可以随时随地访问您的数据,而且只需为您所使用和存储的…
问题1: Non-ASCII character '\xe9' in file 问题原因:程序编码上出现问题 解决方法:在程序头部加上代码 #-*- coding: UTF-8 -*- 设置代码编码为UTF8即刻正常运行 问题2: windows 下print 乱码 错误原因:源码文件的编码格式为utf-8,但是window的本地默认编码是gbk,所以在控制台直接打印utf-8的字符串当然是乱码了! 解决方法:比较通用的解决方法  完美兼容windows 和 ubuntu import sys…
查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodin…
Unicode和多字节 Unicode是宽字符 多字节是窄字符 类型 变量类型 初始化方式 Unicode LPWSTR L"string" 多字节 LPSTR "string" 根据开发环境的设置自动适应 LPTSTR TEXT("string") 代码演示 #include <windows.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, L…