摘要:
转自:http://blog.csdn.net/lovekatherine/archive/2007/11/06/1868724.aspx [在此向原文作者说声谢谢!若有读者看到文章转载时请写该转载地址,不要写我的BLOG地址。尊重他人的劳动成果 ^_^ ]今天在CSDN的Blog首页看到一篇文章“也谈计算机字符编码 ”,由于前一阵业余翻译了“UTF-8 and Unicode FAQ for Unix/Linux”一文,自己对字符集、编码和Unicode等内容一直保着者很强的兴趣,自然不会放过这样的文章。作者的文章写得很明白易懂,虽然有一些概念上的细节问题我觉得有商榷之处;作者还给出一个简单 阅读全文
摘要:
代码如下:#include <stdio.h>#include <string.h>int main() { char *in_utf8 = "你在干吗呢"; char *in_gb2312 = "安装超人"; char *in_eng = "English man"; printf("len1=%d, len2=%d, len3=%d\n", strlen(in_utf8), strlen(in_gb2312), strlen(in_eng)); return 0;}在windows下,运 阅读全文
摘要:
open和fopen的区别:1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快、效率高。一般来说,文件“缓冲区”的大小随机器 而定。fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, fre 阅读全文
摘要:
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。下面将就以下的一个存在段错误的程序介绍几种调试方法: 1 dummy_function (void) 2 { 3 unsigned char *ptr = 0x00; 4 *ptr = 0x00; 5 } 6 7 i 阅读全文
摘要:
/* 功能:实现文件编码格式的判断 通过一个文件的最前面三个字节,可以判断出该的编码类型: ANSI: 无格式定义;(第一个字节开始就是文件内容) Unicode: 前两个字节为FFFE; Unicode big endian: 前两字节为FEFF; UTF-8: 前两字节为EFBB,第三字节为BF*/#include <stdio.h>#include <stdlib.h>#include <string.h>// 读取一个文件的最前面n个字节,并以十六进制形式输出每个字节的值void readNBytes(char *fileName, int n){ 阅读全文
摘要:
VIM快捷键:ctags 文件名 做索引光标移动: 四个方向 k h 0 l j ctrl+f, ctrl+b 向下翻页,向上翻页 ctrl+d, ctrl+u 向下半翻页,向上半翻页 $ 移动行尾 0 移动行首 w 移动下一个词 b 移动到上一个词 gg 跳到文档的开始处 G 跳到文档的末尾 % 跳到匹配的括号处("{ }""[]""()") ctrl+i,tab 跳到下一个jump point ctrl+o 跳到上一个jump point 23gg, 23G, :23 跳到第23行 ctrl+i, tab 跳到下一个跳点(Jump 阅读全文
摘要:
这里指的文本是用于Windows系统中的扩展名为.txt的文件。Notepad(记事本)只支持四种格式:ANSI/Unicode/Unicode big endian/UFT-8,在Delphi中如何判断与读取这些不同格式的文本呢?首先,不同编码的文本,是根据文本的前两个字节来定义其编码格式的。定义如下:ANSI: 无格式定义;Unicode: 前两个字节为FFFE;Unicode big endian: 前两字节为FEFF; UTF-8: 前两字节为EFBB,第三字节为BF; 阅读全文
摘要:
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs 阅读全文
摘要:
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:ASC码: 00110101 00110110 00110111 00111000 ↓ ↓ ↓ ↓十进制码: 5 6 7 8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 0010 阅读全文
摘要:
用二进制方式创建一个文件,然后写UTF-8文件头(必须在后续写之前) char header[3] = {0xef, 0xbb, 0xbf}; // UTF-8 file header FILE * fp = fopen(pszFile, "w+b"); fwrite(line, sizeof(char), 3, fp); /*在UTF-8文件头部之后写入其他信息 */ fclose(fp);这样这个文件就成为UTF-8编码的文本文件了。之后其他信息都写在UTF-8文件头部之后就OK了! 阅读全文
摘要:
U+0123456789ABCDEF----------------------------------------------------- 4e00 一 丁 丂 七 丄 丅 丆 万 丈 三 上 下 丌 不 与 丏 4e10 丐 丑 丒 专 且 丕 世 丗 丘 丙 业 丛 东 丝 丞 丟 4e20 丠 両 丢 丣 两 严 並 丧 丨 丩 个 丫 丬 中 丮 丯 4e30 丰 丱 串 丳 临 丵 丶 丷 丸 丹 为 主 丼 丽 举 丿 4e40 乀 乁 乂 乃 乄 久 乆 乇 么 义 乊 之 乌 乍 乎 乏 4e50 乐 乑 乒 乓 乔 乕 乖 乗 乘 乙 乚 乛 乜 九 乞 也 4e60 习 阅读全文
摘要:
由于常常要和汉字处理打交道,因此,我常常受到汉字编码问题的困扰。在不断的打击与坚持中,也积累了一点汉字编码方面的经验,想和大家一起分享。一、汉字编码的种类 汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。 1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占6763个。我们平时说6768个汉字,实际上里边有5个编码为空白,所以总共有6763个汉字。 GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位 阅读全文