11 2012 档案
摘要:今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对
阅读全文
摘要:经常看到网上太多不经思考就转载的东西。比如:什么是指针常量?指针常量即指针类型的常量,常量的值不能改变。例:char *const name1="John"; name1="abc"; //错误,name1是常量,不能修改什么是常量指针?常量指针即是指向常量的指针,指针的值可以改变,即指针所指的地址可以改变,指针所指的地址中的内容为常量不能改变,例:const char *name2="John"; char s[]="abc"; name2=s; //正确,name2所指的地址可以改变 *name2="
阅读全文
摘要:比较两个字符串的长度?strlen(a)>strlen(b);strlen(a) - strlen(b)>0;哪种是对的呢?我们发现size_t strlen( const char *str);返回的是一个无符号类型。问题来了?如果a字符串的长度小于b,a-b = -1;但是用无符号表示会带来问题会是一个很大的树,结果如果用strlen(a) - strlen(b)>0;来表示的话,正好是相反的。细心一些,一些简单的问题。
阅读全文