摘要: utf-8的由来:Unicode的实现方式不同于编码方式。一个字符的Unicode编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。Unicode的实现方式称为Unicode转换格式(Unicode Transformation Format,简称为UTF)例如,如果一个仅包含基本7位ASCII字 符的Unicode文件,如果每个字符都使用2字节的原Unicode编码传输,其第一字节的8位始终为0。这就造成了比较大的浪费。对于这种情况,可以 使用UTF-8编码,这是一种变长编码,它将基本7位ASCII字符仍用7 阅读全文
posted @ 2012-11-29 20:38 呆头鱼 阅读(317) 评论(0) 推荐(0) 编辑
摘要: cut.php:#!/usr/bin/php<?phpdefine('INPUT_FILE', 't.txt');define('OUTPUT_FILE', 'a.txt');$pos = max(intval($argv[1]), 0); $len = max(intval($argv[2]), 0); $file_size = filesize(INPUT_FILE);if($pos >= $file_size) exit;$fp = fopen(INPUT_FILE, 'rb');$point = 阅读全文
posted @ 2012-11-29 17:56 呆头鱼 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1,gbk的由来厂商微软利用GB 2312-80未使用的编码空间,收录GB 13000.1-93全部字符制定了GBK编码。根据微软资料,GBK是对GB2312-80的扩展,也就是CP936字码表 (Code Page 936)的扩展(之前CP936和GB 2312-80一模一樣),最早实现于Windows 95简体中文版。虽然GBK收录GB 13000.1-93的全部字符,但编码方式并不相同。2,编码方式字符有一字节和双字节编码,00–7F范围内是一位,和ASCII保持一致,此范围内严格上说有96个文字和32个控制符号。之后的双字节中,前一字节是双字节的第一位。总体上说第一字节的范围是81–F 阅读全文
posted @ 2012-11-29 14:13 呆头鱼 阅读(222) 评论(0) 推荐(0) 编辑
摘要: php输出全部gb2312编码内的汉字,$area表示分区,$pos表示分区内所在位置。<?php$fp = fopen('t.txt', 'a');for($area = 0xb0; $area <= 0xf7; $area++) for($pos = 0xa1; $pos <= 0xfe; $pos++) fwrite($fp, pack('CC', $area, $pos));fclose($fp);?> 阅读全文
posted @ 2012-11-24 10:27 呆头鱼 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 1,GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。 01-09区为特殊符号。 16-55区为一级汉字,按拼音排序。 56-87区为二级汉字,按部首/笔画排序。 10-15区及88-94区则未有编码。举例来说,“啊”字是GB2312之中的第一个汉字,它的区位码就是1601。2,在使用GB2312的程序通常采用EUC储存方法(EUC-CN) 每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”,第二个字节称为“低位字节”。 “高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。 由 阅读全文
posted @ 2012-11-22 20:47 呆头鱼 阅读(259) 评论(0) 推荐(0) 编辑
摘要: freebsd下ports安装vim后,操作方式依然和vi相同,各种别扭,可通过启用vim自带的配置文件使vim采用自己的操作方式。cp /usr/local/share/vim/vim73/vimrc_example.vim ~/.vimrc 阅读全文
posted @ 2012-11-17 01:01 呆头鱼 阅读(1416) 评论(0) 推荐(0) 编辑
摘要: 在freebsd下编译nodejs,会出现无法找到execinfo.h头文件的错误,execinfo.h头文件在linux下,通常由glibc包提供。但在freebsd中execinfo不直接由libc包提供,execinfo.h头文件可以通过安装devel/libexecinfo软件包来获得。 阅读全文
posted @ 2012-11-16 00:44 呆头鱼 阅读(2898) 评论(0) 推荐(0) 编辑
摘要: 连接freebsd的ssh登陆,输入用户名后,需要等一段时间才可以输出密码,这是由于sshd反解域名引起的,需要修改sshd的配置文件解决。1 编辑/etc/ssh/sshd_config文件,去除#UseDNS yes项前的#并将yes修改为no2 执行/etc/rc.d/sshd restart重启ssh服务 阅读全文
posted @ 2012-11-15 23:27 呆头鱼 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 1,配置oracle jdkphpstorm是一款很强大的php语言ide,由于不再支持openjdk,所在在linux下安装时,需要单独配置oracle jdk。oracle jdk可以在oracle官网上下载到对应版本,安装好后,找到java的安装目录(fedora17安装jdk-7u9-linux-x64时,默认安装目录在/usr/java/)。根据phpstorm的提示,将JAVA_HOME变量添加到当前用户家目录下的.bashrc文件中JDK_HOME=/usr/java/defaultexport JDK_HOME登出用户重新登陆,即可使phpstorm调用oracle jdk。2 阅读全文
posted @ 2012-11-07 14:14 呆头鱼 阅读(2535) 评论(0) 推荐(0) 编辑
摘要: c语言:#include <stdio.h>#define MAX_LINE 100FILE *fp;char line[] = "";void main() { fp = fopen("test.txt", "r"); while (fgets (line, MAX_LINE, fp) != NULL) { printf("%s", line); } fclose(fp);}php:<?php$fp = fopen('test.txt', 'r');while($ 阅读全文
posted @ 2012-11-04 13:00 呆头鱼 阅读(2894) 评论(0) 推荐(0) 编辑