前言:从Windows NT/2000开如,Windows系统已经是一个标准的UNICODE系统,系统内部所有字符串存储及操作均使用UNICODE编码.因此Win32 API都是UNICODE版本的,但为了更好的本地化支持,也提供了MBCS(ANSI)版的Win32 API.UNICODE版Win32 API形式为xxxW,W(Wide)代表宽字符;MBCS(ANSI)版Win32 API形式为xxxA,A即ANSI.xxxA形式的Win32 API在被调用时,会先调用先根据“代码页转换表”执行…
最近刚换上VS2017,由于手头又要做个MFC的程序,所以写控制台程序做功能测试,然后发现居然乱码了. 于是用VS2017新建windows控制台应用程序,在main函数种加一句printf("你好");后,运行结果依然乱码 用notapad++打开该文件后,点击菜单栏的编码一项,发现是UTF-8无BOM格式编码,然后改成以ANSI格式编码后 也就是说VS是用UTF-8来编码代码文件的,编译出的程序中字符串也是按照UTF-8编码的,而控制台却是按照ANSI编码来理解的. 打个比方,A用…
下面是一个unicode字符转换为utf-8的c程序实现: /* * ===================================================================================== * * Filename: unicodetoutf8.c * * Description: * * Version: 1.0 * Created: 08/06/2015 10:53:31 AM * Revision: none * Compiler: gc…
最近用Nodejs写了个代理程序,一直用的好好的,木有问题,今天突然发现不能用了,使用telnet去连代理的端口也能连通,可是服务就是不能正常使用,提示连接超时. 当时猜测是Nodejs的某个地方阻塞了,分析了下代码,怎么也想不明白不能有阻塞的地方啊. 又是各种倒腾,后来发现一个奇怪的问题,我把鼠标放到Nodejs的控制台上,默认进入了编辑模式,而且整个应用的标题变成了"选定 XXXX"这种形式,我想退出程序,需要按两次Ctrl+C,难道是这的问题? 又来有测试了下,果真还是这的问题,…
这个问题来自论坛提问,答案如下.这只是一个简单的ipconfig命令.如果是复杂的,比如oracle的exp之类的命令,能在调用的时候显示出来,还是相当酷的. using System; using System.Windows.Forms; namespace WindowsApplication8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } delegate void dRea…
好久没更新博客了,今天是扒衣见君节,难得闲下来就来说说一个最近有趣的发现吧. 首先废话不多说,直接上代码吧 class Program { static void Main(string[] args) { ]; ; i < bytes.Length; i++) { bytes[i] = ; } Console.WriteLine(Encoding.ASCII.GetString(bytes)); string line = Console.ReadLine();//你已经死了 这部分是没有机会…
有些文件中存在Unicode字符和非Unicode字符,如何利用java快速的把文件中的Unicode字符转换为汉字而不影响文件中的其他字符呢, 我们知道虽然java 在控制台会把Unicode字符直接输出成汉字,但是当遇到文件中的Unicode和非Unicode字符在一起的时候却不好用了. 下面是代码,只需要把代码中的路径替换为你想要的路径,在建立一个转换后的文件路径.其他代码无需改变. import java.io.BufferedReader; import java.io.Buffere…
宽字符 阅读了 UTF-8 Everywhere 一文,推荐在程序中对于字符串都使用 UTF-8 编码.Unix-like 系统默认是支持 UTF-8 编码的Unicode字符串,标准库函数也默认支持 UTF-8 字符串,如 fopen 等.但在 Windows 系统,由于历史原因,其对需要输入宽字符的函数提供了另外以 w 开头的标准库扩展函数,如 _wfopen 等.况且对标准库的 wchar_t 两种系统实现不一样,在 unix-like 系统中是占4字节的 UTF-8 编码,而在 Wind…
//一个可以工作在Windows控制台字符界面下的俄罗斯方块 //工作在非图形模式,无需其他库依赖,单个C文件代码即可运行 //支持最高纪录,并且对于纪录进行了加密 //By wrule 2015年12月14日20:53:57  //控制方式 WSAD 键对应旋转,下,左,右 //需要注意的是在进行游戏之前需要按下 Ctrl + 空格 取消输入法,否则无法正确操作      #define _CRT_SECURE_NO_WARNINGS     #include <stdio.h> #incl…
转自:http://www.cnblogs.com/zplutor/archive/2010/11/27/1889227.html 在我刚开始学C/C++的时候,字符类型使用的都是char.接触Win32编程之后,养成了使用wchar_t的习惯,于是再写控制台程序的时候自然就使用wchar_t了.然而在控制台程序中使用宽字符会导致各种奇怪的问题,这些问题主要是在输出上.下面分享一下我在这方面的心得. 首先来看一下这段代码: #include <stdio.h> int main() { wpr…