Thursday, December 30, 2010
Wednesday, December 29, 2010
Tuesday, December 28, 2010
Sunday, December 26, 2010
Tuesday, December 21, 2010
Monday, December 20, 2010
转: 简单5步,制作wordpress留言板
先说两句我自己的,下面这段很重要,是说要把你新建的这个php页面当做页面模板,只有加上这句,在新建页面的时候, <Page template> 选项才会出现
<?php
/*
Template Name: Guestbook
*/
?>
下面是转的内容:
做一个wordpress留言板很简单,我们知道一般可以用新建一个主题名字叫“留言板”的页面,让访客以评论留言的方式来实现。但是这种方式建立的留言板,其实是一个一般主题(post)或页面(page),因此缺乏进一步定制的功能,而且提示文字也全部是“评论”
要做一个可定制的留言板其实很简单,只需要5步,那就让我们开始吧:)
Sunday, December 19, 2010
关于wordpress 用户的头像
引用帕兰映像:
所以,现在只要你在Gravatar上注册了就可以了
如何在一个窗口打开两张图片
第二:先打开一张图片,然后执行:“文件”→“置入”,这样也可以将两张照片弄在一起。
此方法适用PS CS3和CS4 其他版本不知道是不是一样的方法
白色的世界
终于算是搬家过来了
把以前所有日志都弄过来了,但是照片却是没有.. 只有一点一点再加回去了, 还好原来日志里的照片也不是很多
发一篇日志纪纪念一下呵呵
Saturday, December 18, 2010
Sunday, December 12, 2010
抛弃你的学生气,进入社会前需要知道的
Saturday, December 11, 2010
2010.12.10 SUPINFO答辩结束
监考一共有两个人, Roberto 和 一位监考老师
根据最后Roberto笑容满面的跟我聊了半天, 还有那个监考跟我说的 "goodbye, Mr engineer", 答辩应该是没有问题了
感觉轻松了不少
但是新的事情又接踵地来了
目前最重要的是把 托业考过了,还有就是把 工作给找到
经济危机真是影响着每一个人呀
感谢我亲爱的小茜茜!


[转载]人的差别在于业余时间
[来源:新东方 作者:陈磊]
业余时间对不少人来说几乎是这样定义的:打牌、跳舞、闲扯、看电视;逛街、看碟、听小曲……总得来说:身心浮躁,接受诱惑,享受无聊。
爱因斯坦和鲁迅都说过这样一句话:人的差别在于业余时间。这至少包含这样两层意思:一是人的学习是终身性的,远不是学校或者单位里获得的那么一些,业余时间要继续为自己的发展服务。二是强调业余时间要有效利用,要更好地协调工作、家庭、生活之间的关系。
有这么一个故事,说的是大学毕业离校时,老师问学生,“毕业第一年每月能读一本书的同学请举手”,几乎所有的同学都举了手。当问到“那么毕业第十年谁还能一年读一本书?”时,几乎所有学生都笑起来了,认为一年还不能读一本书是难以想像的事。然而,后来的事实告诉我们,毕业第一年每月读一本书的学生还不到一半,毕业第十年时,一年读一本书的几乎是凤毛鳞角了。我们身边的同学也是,辛辛苦苦来新东方上培训班,学习期间在业余时间复习课堂的内容差不多也就一半,等课程结束以后半年或者一年以后再重新复习培训内容的人真实凤毛麟角了。身边的新老师也是这样,有的是所有的时间都在备课,上厕所的时候都在想如何设置课堂的亮点,而有一些却是三分热度,不能坚持下来。
所以,一定要把学习、看书当作终身的事情来做。腹有诗书气自华,也许读书不一定能改变人生的起点,但一定能改变人生的终点;也许读书不一定能改变人生的长度,但一定能改变人生的宽度和厚度。但是这个过程是孤独的,当别人在休闲的时候,你却把别人喝咖啡的时间用在了读书上,独守孤灯,苦心思考。但这也是厚积而薄发的过程,心无旁骛地奔向自己的目标,耕耘终将会获得更多的回报。
人的差别在于业余时间,第二层意思就是除了学习和工作之外,也要利用业余时间好好地陪伴家里人,减少应酬,获得更多的天伦之乐。刚毕业的时候,隔三岔五地老有同学聚会,把家里人却都撂在一旁。现在,这样的聚会越来越少了,网络上的同学录也越来越荒芜了,唯一的内容就是时不时地有人把自己的结婚照和新鲜出炉的孩子照片放上来。前后所发生的转变似乎在说明,大家都开始个忙个的了,各自苦心为战,专心经营着自己的工作和家庭。学生时代那些呼朋唤友、酒肉穿肠的岁月已经彻底过去了,取而代之的是对自己事业与家庭全身心地关注。说到头,工作也是为生活服务的,说高一点,是为国家、社会、企业,也就是大家的生活服务;说低一些,也是为自己的小家---父母、爱人、后代服务,让大家在不错的物质生活之外,更能享受到充实的天伦之乐。
所以,所谓“业余时间”这个概念,关键还是在于“业”这个字,业余时间是为两个业服务的,一个是事业,一个是家业。业余时间不仅影响甚至决定了人的差别,实质上更是影响和决定了人的快乐的程度和长度。但愿我们在处理业余时间上,都能成为专家,把它真正变成生活里最大的亮点。
(本文选自《新东方精神》总第十期)
Monday, December 6, 2010
2010.12.04 下诺曼底欢迎您
我们冒着大雨参加了下诺曼底中国友好协会组织的下诺曼底欢迎您大型活动.
上午 11点
我们千辛万苦找到了会议地点 坐落于女修道院的下诺曼底议会, 可惜没有给议会来个照片...
然后是开会, 各种领导讲话,截图一张:
大区爵士乐队 演出
中午吃了顿免费的午餐
下午我去参观了一个没落的贵族的城堡 Fontaine Henry古堡, 来暖气都没有, 城堡主人说暖气会对城堡有影响
城堡主人在讲话
我们在城堡前面合个影
城堡里的一个大镜子
小茜茜的漂漂照:
Thursday, December 2, 2010
How to Write a Motivation Letter
The Cover Letter (CL) is the document that accompanies your CV when you are applying for a job. For academic purposes, the document used is typically called statement of purpose, and is laid out after somewhat different rules. The CL is short (200-250 words), with a quite rigid structure and has the layout of a letter. Its goal is to introduce the CV, to bring to attention aspects of your activity that can help your application and are not listed or not presented in the proper light in the CV. In short, its goal is to answer the recruiter's question: "Why should I hire this person?". |
If you do know the name of the addressee, start with Dear Mr (Mister), Ms (Miss), Mrs (Mistress), Dr (Doctor), without the full stop that you might expect to follow the abbreviation, and the surname of the addressee, followed by comma (Dear Dr Smith,). In this case, you should end the letter with the salutation Yours sincerely. If you do not know the name, start with Dear Sirs, or Dear Sir or Madam and close with Yours faithfully. In American business correspondence, Yours truly is acceptable in both cases. Do not start the body of the mail with a capital letter, since it follows a comma.
Structure. Ideally, a cover letter has no more than four paragraphs. The goal of the first is to specify what you are applying for and how did you find out about that opportunity. The last one outlines your availability for an interview, suggesting in this way a concrete follow-up for your application.
The third should point out why you want it. You should outline your interest for the skills you are going to learn if you get the job. The impression left should be that you can make a genuine contribution to the company's operations, while simultaneously deriving satisfaction from your work.
After the fourth paragraph leave a blank space, same as you should do in the beginning, after the salutation (Dear). Write the proper closing, as described above and your name. Do not forget to leave a blank space between the closing and your name and to sign the letter in that space.
Enclosure. It is customary for formal letters to mention whether you have enclosed any documents accompanying the letter. Simply mention enclosure, or write curriculum vitae under the heading enclosure at the end of the letter.
Print the letter on A4 white paper same as that on which your CV was printed, and put both documents in an A4 envelope of matching color. If you are emailing it request a notification that your documents have been received. Wait at least two weeks since the day you sent your application or after the deadline before writing again in the case you did not get any answer.
Source: http://www.eastchance.com/howto/mot_let.asp
Friday, November 26, 2010
浅谈IT技术支持 [转]
Monday, November 22, 2010
2010.11.20 刘爽同学儿子庆百天会
图中,桌子上的是今天的主角,穿白衣服的是孩儿他妈
这时,大家喊的是,小P(小孩儿)是今天的午餐...
大家吃的热火朝天...
2010.11.17 卡昂欢迎您 交流会
Tuesday, November 16, 2010
数字图象处理技术英文词汇表
Aliasing 走样(混叠) 当图像像素间距和图像细节相比太大时产生的一种人工痕迹。
Arc 弧 图的一部分;表示一曲线一段的相连的像素集合。
Binary image 二值图像 只有两级灰度的数字图像(通常为0和1,黑和白)
Blur 模糊 由于散焦、低通滤波、摄像机运动等引起的图像清晰度的下降。
Border 边框 一副图像的首、末行或列。
Boundary chain code 边界链码 定义一个物体边界的方向序列。
Boundary pixel 边界像素 至少和一个背景像素相邻接的内部像素(比较:外部像素、内部像素)
Boundary tracking 边界跟踪 一种图像分割技术,通过沿弧从一个像素顺序探索到下一个像素将弧检测出。
Brightness 亮度 和图像一个点相关的值,表示从该点的物体发射或放射的光的量。
Change detection 变化检测 通过相减等操作将两幅匹准图像的像素加以比较从而检测出其中物体差别的技术。
Class 类 见模或类
Closed curve 封闭曲线 一条首尾点处于同一位置的曲线。
Cluster 聚类、集群 在空间(如在特征空间)中位置接近的点的集合。
Cluster analysis 聚类分析 在空间中对聚类的检测,度量和描述。
Concave 凹的 物体是凹的是指至少存在两个物体内部的点,其连线不能完全包含在物体内部(反义词为凸)
Connected 连通的
Contour encoding 轮廓编码 对具有均匀灰度的区域,只将其边界进行编码的一种图像压缩技术。
Contrast 对比度 物体平均亮度(或灰度)与其周围背景的差别程度
Contrast stretch 对比度扩展 一种线性的灰度变换
Convex 凸的 物体是凸的是指连接物体内部任意两点的直线均落在物体内部。
Convolution 卷积 一种将两个函数组合成第三个函数的运算,卷积刻画了线性移不变系统的运算。
Corrvolution kernel 卷积核 1,用于数字图像卷积滤波的二维数字阵列,2,与图像或信号卷积的函数。
Curve 曲线 1,空间的一条连续路径 ,2 表示一路径的像素集合(见弧、封闭曲线)。
Deblurring 去模糊 1一种降低图像模糊,锐化图像细节的运算。2 消除或降低图像的模糊,通常是图像复原或重构的一个步骤。
Decision rule 决策规则 在模式识别中,用以将图像中物体赋以一定量的规则或算法,这种赋值是以对物体特征度量为基础的。
Digital image 数字图像 1 表示景物图像的整数阵列 ,2 一个二维或更高维的采样并量化的函数,它由相同维数的连续图像产生,3 在矩形(或其他)网络上采样一连续函数,并才采样点上将值量化后的阵列。
Digital image processing 数字图像处理 对图像的数字化处理;由计算机对图片信息进行操作。
Digitization 数字化 将景物图像转化为数字形式的过程。
Edge 边缘 1 在图像中灰度出现突变的区域,2 属于一段弧上的像素集,在其另一边的像素与其有明显的灰度差别。
Edge detection 边缘检测 通过检查邻域,将边缘像素标识出的一种图像分割技术。
Edge enhancement 边缘增强 通过将边缘两边像素的对比扩大来锐化图像边缘的一种图像处理技术。
Edge image 边缘图像 在边缘图像中每个像素要么标注为边缘,要么为非边缘。
Edge linking 边缘连接 在边缘图像中将边缘像素连成边缘的一种图像处理技术。
Edge operator 边缘算子 将图像中边缘像素标记出来的一种邻域算子。
Edge pixel 边缘像素 处于边缘上的像素
Enhance 增强 增加对比度或主观可视程度。
Exterior pixel 外像素 在二值图像中,处于物体之外的像素(相对于内像素)
False negative 负误识 在两类模式识别中,将属于物体标注为不属于物体的误分类
False positive 正误识 在两类模式识别中,将不属于物体标注为属于物体的误分类。
Feature 特征 物体的一种特性,它可以度量。有助于物体的分类。如大小,纹理,形状。
Feature extraction 特征检测 模式识别过程中的一个步骤,在该步骤中计算物体的有关度量。
Feature selection 特征选择 在模式识别系统开发过程中的一个步骤。旨在研究质量或观测能否用于将物体赋以一定类别。
Feature space 特征空间 参见度量空间
Fourier transform 傅立叶变换 采用复指数作为核函数的一种线性变换。
Geometric correction 几何校正 采用几何变换消除几何畸变的一种图像复原技术。
Gray level 灰度级 1和数字图像的像素相关连的值,它表示由该像素的原始景物点的亮度。2 在某像素位置对图像的局部性质的数字化度量。
Gray scale 灰度 在数字图像中所有可能灰度级的集合
Gray-scale transformation 灰度变换 在点运算中的一种函数,它建立了输入灰度和 对应输出灰度的关系
LE="line-height: 19px;" /> Hankel transform Hankel 变换
Harmonic signal 谐波信号 有余弦实部和相同频率的正弦虚部组合的复数信号
Hermite function Hermite 函数 具有偶实部和奇虚部的复值函数
Highpass filtering 高通滤波 图形增强(通常是卷积)运算,相对于低频部分它对高频部分进行了提升
Hole 洞 在二值图像中,由物体内点完全包围的连通的背景点
Image 图像 对物理景物或其他图像的统一表示称为图像
Image compression 图像压缩 消除图像冗余或对图像近似的任一种过程,其目的是对图像以更紧凑的形式表示
Image coding 图像编码 将图像变换成另一个可恢复的形式(如压缩)
Image enhancement 图像增强 旨在提高图像视觉外观的任一处理
Image matching 图像匹配 为决定两副图像相似程度对它们进行量化比较的过程。
Image-processing operation 图像处理运算 将输入图像变换为输出图像的一系列步骤
Image reconstruction 图像重构 从非图像形式构造或恢复图像的过程
Image registration 图像匹准 通过将景物中的一图幅像与相同景物的另一幅图像进行几何运算,以使其中物体对准的过程
Image restoration 图像复原 通过逆图像退化的过程将图像恢复为原始状态的过程。
Image
segmentation 图像分割 1 在图像中检测并勾画出感兴趣物体的处理,2 将图像分为不相连的区域。通常这些区域对应于物体以及物体所处的背景。
Interior pixel 内像素 在一幅二值图像中,处于物体内部的像素(相对与边界像素,外像素)
Interpolation 插值 确定采样点之间采样函数的过程称为插值
Kernel 核
Line detection 线检测 通过检查邻域将直线像素标识出来的一种图像分割技术
Line pixel 直线像素 处于一条近似于直线的弧上的像素
Local operation 局部运算 基于输入像素的一个邻域的像素灰度决定该像素输出灰度的图像处理运算,同邻域运算(对比:点运算)
Local property 局部特征 在图像中随位置变化的感兴趣的特征(如光学图像的亮度或颜色;非光学图像高度、温度、密度等)
Lossless image compression 无失真图像压缩 可以允许完全重构原图像的任何图像压缩技术。
Lossy image compression 有失真图像压缩 由于包含近似,不能精确重构原图像的任何图像压缩技术
Matched filtering 匹配滤波 采用匹配波器检测图像中特定物体的存在及其位量
Measurement space 度量空间 在模式识别中,包含所有可能度量向量的n维向量空间
Misclassification 误分类 在模式识别中,将物体误为别类的分类&nb
sp;
Multispectral image 多光谱图像 同一景物的一组图像,每一个是由电磁谱的不同波段辐射产生的
Neighborhood 邻域 在给定像素附近的一像素集合
Neighoorhood operation 邻域运算 见局部运算
Noise 噪音 一幅图像中阻碍感兴趣数据的识别和解释的不相关部分
Noise reduction 噪音抑制 降低一副图像中噪音的任何处理
Object 目标,物体 在模式识别中,处于一二值图像中的相连像素的集合,通常对应于该图像所表示景物中的一个物体
Optical image 光学图像 通过镜头等光学器件将景物中的光投射到一表面上的结果
Pattern 模式 一个类的成员所表现出的共有的有意义的规则性,可以度量并可用于对感兴趣的物体分类
Pattern class 模式类 可赋予一个物体的相互不包容的预先定义的类别集合的任一个类
Pattern classification 模式分类 将物体赋予模式类的过程
Pattern recognition 模式识别 自动或半自动地检测、度量、分类图像中的物体
Pel 像素 图像元素(picture element )的缩写
Perimeter 周长 围绕一物体的边界的周边距离
Picture element 图像元素 ,像素 数字图像的最小单位,一幅数字图像的基本组成单元
Pixel 像素 图像元素(picture element )的缩写
Point operation 点运算 只根据对应像素的输入灰度值决定该像素输出灰度值的图像处理运算(对比:邻域运算)
Quantitative image analysis 图像定量分析 从一副数字图像中抽取定量数据的过程
Quantization 量化 在每一个像素处,将图像的局部特性赋予一个灰度集合中的元素的过程
Region 区域 一副图像中的相连子集
Region growing 区域增长 通过重复地求具有相似灰度或纹理的相邻子区域的并集形成区域的一种图像分割技术
Registered 匹准的 1 调准的状态 2 两幅或多幅图像已几何调准,其中的物体吻合
Registered image 已匹准图像 同一景物的两副(或以上)图像已相互调准好位置,从而使其中的物体具有相同的图像位置
Resolution 分辨率 1 在光学中指可分辨的点物体之间最小的分离距离,2 在图像处理中,指图像中相邻的点物体能够被分辨出的程度
Run 行程 在图像编码中,具有相同灰度的相连像素序列
Run length 行程长度,行程 在行程中像素的个数
Run length encoding 行程编码 图像行以行程序列表示的图像压缩技术,每一行程以一个给定的行程长度和灰度值定义
Sampling 采样 (根据采样网络)将图像分为像素并测量其上局部特性(如亮度、颜色)的过程
Scene 景物 客观物体的一种特色的布局
Sharp 清晰 关于图像细节的易分辨性
Sharpening 锐化 用以增强图像细节的一种图像处理技术
Sigmoid function Sigmoid 函数 S函数 形如S的一种函数,是一种灰度变化函数,它也可用于神经元网络中处理单元(PE)中的函数
Sinusoidal 正弦型的 具有正弦函数形状的函数类型
Smoothing 平滑 降低图像细节幅度的一种图形处理技术,通常用于降噪
Statistical pattern recognition 统计模式识别 采用概率和统计的方法将物体赋予模式类的一种模式识别
Structural pattern recognition 结构模式识别 为描述和分类物体,将物体表示为基元及其相互关系的一种模式识别方法
Syntactic pattern recognition 句法模式识别 采用自然或人工语言模式定义基元及相互关系的一种结构模式识别方法
System 系统 任何接收输入,产出输出的东西
Texture 纹理
Wednesday, November 10, 2010
工具推荐 之 紫辰记账本
Sunday, November 7, 2010
2010.10.27 茜茜自制 吉野家煎鸡饭
2010.11.06 遇见罢工,逢大雨..
非常非常多的人..小茜茜也上个相...
这时已经下起雨了... 悲剧开始了..我们都没带伞..查了下车表因为罢工只有到Universite那站时才能有车..
全身都湿透了...还好小茜茜带着围脖和穿着皮衣..
Monday, October 4, 2010
2010.10.03 - 学习笔记.Francais
Thursday, September 16, 2010
保留小数点后两位的方法
2. echo sprintf("%.2f", $a);
3. 直接在数据库中设置数据类型为 decimal(28,2)
PS: round是对float本身进行加工,如果float本身就符合你的精度要求,就不会有任何改变,所以你用round还是不行
而sprintf则是对输出就是加工. 已经是字符串了, 想怎么弄就怎么弄
PS2: 选自《CSDN 社区电子杂志——C/C 杂志》
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。
sprintf 是个变参函数,定义如下:
int sprintf( char *buffer, const char *format [, argument] ... );
除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:
格式化字符串上。
printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要 的字符串。
格式化数字字符串
sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代
itoa。
如:
//把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
可以指定宽度,不足的左边补空格:
sprintf(s, "��", 123, 4567); //产生:" 123 4567"
当然也可以左对齐:
sprintf(s, "%-8d�", 123, 4567); //产生:"123 4567"
也可以按照16 进制打印:
sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐
sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐
这样,一个整数的16 进制字符串就很容易得到,但我们在打印16 进制内容时,通常想要一种左边补0 的等宽格式,那该怎么做呢?很简单,在表示宽度的数字前面加个0 就可以了。
sprintf(s, "X", 4567); //产生:"000011D7"
上面以”%d”进行的10 进制打印同样也可以使用这种左边补0 的方式。
这里要注意一个符号扩展的问题:比如,假如我们想打印短整数(short)-1 的内存16 进制表示形式,在Win32 平台上,一个short 型占2 个字节,所以我们自然希望用4 个16 进制数字来打印它:
short si = -1;
sprintf(s, "X", si);
产 生“FFFFFFFF”,怎么回事?因为spritnf 是个变参函数,除了前面两个参数之外,后面的参数都不是类型安全的,函数更没有办法仅仅通过一个“%X”就能得知当初函数调用前参数压栈时被压进来的到底 是个4 字节的整数还是个2 字节的短整数,所以采取了统一4 字节的处理方式,导致参数压栈时做了符号扩展,扩展成了32 位的整数-1,打印时4 个位置不够了,就把32 位整数-1 的8 位16 进制都打印出来了。
如果你想看si 的本来面目,那么就应该让编译器做0 扩展而不是符号扩展(扩展时二进制左边补0 而不是补符号位):
sprintf(s, "X", (unsigned short)si);
就可以了。或者:
unsigned short si = -1;
sprintf(s, "X", si);
sprintf 和printf 还可以按8 进制打印整数字符串,使用”%o”。注意8 进制和16 进制都不会打
印出负数,都是无符号的,实际上也就是变量的内部编码的直接的16 进制或8 进制表示。
控制浮点数打印格式
浮点数的打印和格式控制是sprintf 的又一大常用功能,浮点数使用格式符”%f”控制,默认保
留小数点后6 位数字,比如:
sprintf(s, "%f", 3.1415926); //产生"3.141593"
但有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:”%m.nf”格式,其中m 表
示打印的宽度,n 表示小数点后的位数。比如:
sprintf(s, ".3f", 3.1415626); //产生:" 3.142"
sprintf(s, "%-10.3f", 3.1415626); //产生:"3.142 "
sprintf(s, "%.3f", 3.1415626); //不指定总宽度,产生:"3.142"
注意一个问题,你猜
int i = 100;
sprintf(s, "%.2f", i);
会打出什么东东来?“100.00”?对吗?自己试试就知道了,同时也试试下面这个:
sprintf(s, "%.2f", (double)i);
第 一个打出来的肯定不是正确结果,原因跟前面提到的一样,参数压栈时调用者并不知道跟i相对应的格式控制符是个”%f”。而函数执行时函数本身则并不知道当 年被压入栈里的是个整数,于是可怜的保存整数i 的那4 个字节就被不由分说地强行作为浮点数格式来解释了,整个乱套了。不过,如果有人有兴趣使用手工编码一个浮点数,那么倒可以使用这种方法来检验一下你手工编 排的结果是否正确。
字符/Ascii 码对照
我们知道,在C/C 语言中,char 也是一种普通的scalable 类型,除了字长之外,它与short,
int,long 这些类型没有本质区别,只不过被大家习惯用来表示字符和字符串而已。(或许当年该把
这 个类型叫做“byte”,然后现在就可以根据实际情况,使用byte 或short 来把char 通过typedef 定义出来,这样更合适些)于是,使用”%d”或者”%x”打印一个字符,便能得出它的10 进制或16 进制的ASCII 码;反过来,使用”%c”打印一个整数,便可以看到它所对应的ASCII 字符。以下程序段把所有可见字符的ASCII 码对照表打印到屏幕上(这里采用printf,注意”#”与”%X”合用时自动为16 进制数增加”0X”前缀):
for(int i = 32; i < 127; i ) {
printf("[ %c ]: = 0x%#04X\n", i, i, i);
}
连接字符串
sprintf 的格式控制串中既然可以插入各种东西,并最终把它们“连成一串”,自然也就能够连
接字符串,从而在许多场合可以替代strcat,但sprintf 能够一次连接多个字符串(自然也可以同时
在它们中间插入别的内容,总之非常灵活)。比如:
char* who = "I";
char* whom = "CSDN";
sprintf(s, "%s love %s.", who, whom); //产生:"I love CSDN. "
strcat 只能连接字符串(一段以’\0’结尾的字符数组或叫做字符缓冲,null-terminated-string),但有时我们有两段字符缓冲区,他们并不 是以’\0’结尾。比如许多从第三方库函数中返回的字符数组,从硬件或者网络传输中读进来的字符流,它们未必每一段字符序列后面都有个相应的’\0’来结 尾。如果直接连接,不管是sprintf 还是strcat 肯定会导致非法内存操作,而strncat 也至少要求第一个参数是个null-terminated-string,那该怎么办呢?我们自然会想起前面介绍打印整数和浮点数时可以指定宽度,字符串 也一样的。比如:
char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
如果:
sprintf(s, "%s%s", a1, a2); //Don't do that!
十有八九要出问题了。是否可以改成:
sprintf(s, "%7s%7s", a1, a2);
也没好到哪儿去,正确的应该是:
sprintf(s, "%.7s%.7s", a1, a2);//产生:"ABCDEFGHIJKLMN"
这 可以类比打印浮点数的”%m.nf”,在”%m.ns”中,m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n 才表示从相应的字符串中最多取用的字符数。通常在打印字符串时m 没什么大用,还是点号后面的n 用的多。自然,也可以前后都只取部分字符:
sprintf(s, "%.6s%.5s", a1, a2);//产生:"ABCDEFHIJKL"
在 许多时候,我们或许还希望这些格式控制符中用以指定长度信息的数字是动态的,而不是静态指定的,因为许多时候,程序要到运行时才会清楚到底需要取字符数组 中的几个字符,这种动态的宽度/精度设置功能在sprintf 的实现中也被考虑到了,sprintf 采用”*”来占用一个本来需要一个指定宽度或精度的常数数字的位置,同样,而实际的宽度或精度就可以和其它被打印的变量一样被提供出来,于是,上面的例子 可以变成:
sprintf(s, "%.*s%.*s", 7, a1, 7, a2);
或者:
sprintf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);
实际上,前面介绍的打印字符、整数、浮点数等都可以动态指定那些常量值,比如:
sprintf(s, "%-*d", 4, 'A'); //产生"65 "
sprintf(s, "%#0*X", 8, 128); //产生"0X000080","#"产生0X
sprintf(s, "%*.*f", 10, 2, 3.1415926); //产生" 3.14"
打印地址信息
有时调试程序时,我们可能想查看某些变量或者成员的地址,由于地址或者指针也不过是个32 位的数,你完全可以使用打印无符号整数的”%u”把他们打印出来:
sprintf(s, "%u", &i);
不过通常人们还是喜欢使用16 进制而不是10 进制来显示一个地址:
sprintf(s, "X", &i);
然而,这些都是间接的方法,对于地址打印,sprintf 提供了专门的”%p”:
sprintf(s, "%p", &i);
我觉得它实际上就相当于:
sprintf(s, "%0*x", 2 * sizeof(void *), &i);
利用sprintf 的返回值
较少有人注意printf/sprintf 函数的返回值,但有时它却是有用的,spritnf 返回了本次函数调用
最终打印到字符缓冲区中的字符数目。也就是说每当一次sprinf 调用结束以后,你无须再调用一次
strlen 便已经知道了结果字符串的长度。如:
int len = sprintf(s, "%d", i);
对于正整数来说,len 便等于整数i 的10 进制位数。
下面的是个完整的例子,产生10 个[0, 100)之间的随机数,并将他们打印到一个字符数组s 中,
以逗号分隔开。
#include
#include
#include
int main() {
srand(time(0));
char s[64];
int offset = 0;
for(int i = 0; i < 10; i ) {
offset = sprintf(s offset, "%d,", rand() % 100);
}
s[offset - 1] = '\n';//将最后一个逗号换成换行符。
printf(s);
return 0;
}
设想当你从数据库中取出一条记录,然后希望把他们的各个字段按照某种规则连接成一个字
符串时,就可以使用这种方法,从理论上讲,他应该比不断的strcat 效率高,因为strcat 每次调用
都需要先找到最后的那个’\0’的位置,而在上面给出的例子中,我们每次都利用sprintf 返回值把这
个位置直接记下来了。
使用sprintf 的常见问题
sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访
问错误,但好在由sprintf 误用导致的问题虽然严重,却很容易找出,无非就是那么几种情况,通
常用眼睛再把出错的代码多看几眼就看出来了。
?? 缓冲区溢出
第一个参数的长度太短了,没的说,给个大点的地方吧。当然也可能是后面的参数的问
题,建议变参对应一定要细心,而打印字符串时,尽量使用”%.ns”的形式指定最大字符数。
?? 忘记了第一个参数
低级得不能再低级问题,用printf 用得太惯了。//偶就常犯。:。(
?? 变参对应出问题
通常是忘记了提供对应某个格式符的变参,导致以后的参数统统错位,检查检查吧。尤
其是对应”*”的那些参数,都提供了吗?不要把一个整数对应一个”%s”,编译器会觉得你
欺她太甚了(编译器是obj 和exe 的妈妈,应该是个女的,:P)。
strftime
sprnitf 还有个不错的表妹:strftime,专门用于格式化时间字符串的,用法跟她表哥很像,也
是一大堆格式控制符,只是毕竟小姑娘家心细,她还要调用者指定缓冲区的最大长度,可能是为
了在出现问题时可以推卸责任吧。这里举个例子:
time_t t = time(0);
//产生"YYYY-MM-DD hh:mm:ss"格式的字符串。
char s[32];
strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t));
sprintf 在MFC 中也能找到他的知音:CString::Format,strftime 在MFC 中自然也有她的同道:
CTime::Format,这一对由于从面向对象哪里得到了赞助,用以写出的代码更觉优雅。
Tuesday, September 14, 2010
Zend Framework之使用Zend_Mail实现邮件验证
Zend Framework 里Zend_Mail这个组件用起来还是很方便的..它提供了通用化的编写与发送文本内容的邮件,当然它也兼容MIME标准的多个多个段的邮件消息的功 能.Zend_Mail里通过默认的Zend_Mail_Transport_SendMail传输或能过 Zend_Mail_Transport_Smtp来发送我们的电子邮件。
Zend_Mail发送最简单的邮件功能.通过Zend_Mail_Transport_Sendmail发来送.我们只要指定邮件的一个收件人,一个主题,一个邮件内容和一个发件人就可以了.它的代码如下(有注解:):
<?php require_once'Zend/Mail.php'; $mail=newZend_Mail("UTF-8");//设置邮件编码 $mail->setBodyText('你的邮件内容放在这里!.') //发送电子邮件地址以及一些发送人的说明信息 ->setFrom('fromemail@example.com','发送人的说明信息') //收信人电子邮件地址以及一些收信人的说明信息 ->addTo('toemail@example.com','收信人的说明信息') //电子邮件标题,解决乱码 ->setSubject("=?UTF-8?B?".base64_encode('电子邮件标题')."?=") ->send(); ?>
另外一个就是通过一个SMTP发送电子邮件.不过你需要配置你的邮件服务器.这一步大家可以去GOOGLE一下..我就不在这里多说了.我这里是能守 GOOGLE来实现发送电子邮件的..经过我的测试.我的电子邮件到送到自己的Gmail和163(网易)的邮箱都没有问题.乱码问题也解决了..标题长 度限制问题也没有出现..以前是自己参考网上改了Zend_Mail里面的函数..现在用1.6版的Zend Framework好像没有这样的问题..我想是ZF团队改了里面的BUG吧...呵呵..
下面是自己的实现的代码:
<?php
require_onceROOT_PATH .'/Zend/Mail.php'; require_onceROOT_PATH .'/Zend/Mail/Transport/Smtp.php'; $mail=newZend_Mail("UTF-8");//设置邮件编码 $config=array('auth'=>'login', 'username'=>"kylingood",//电子件用户名 'password'=>"这里是填写你电子邮件密码", 'ssl'=>"ssl" ); $transport=newZend_Mail_Transport_Smtp('smtp.gmail.com',$config); $mail->setDefaultTransport($transport); $mailcontent='欢迎您的到来!<br /> 您的注册名为: '.$thisArray['username'].'<br /> 您的密码为:'.$thisArray['userpass'].' <br /> 请您点击这里的地址:<a href="#"><font color="red">激活 </font> </a>您的帐号! 请尽快删除此邮件,以免别人偷看到您的密码<br /> 如果忘了密码, 可以到社区写信请管理员重新设定<br />'; $mail->setBodyHtml($mailcontent);//可以发送HTML的邮件.真方便! $mail->setFrom('kylingood@gmail.com','kylingood'); $mail->addTo($email,'kylingood'); $title=$thisArray['username'].',用户您好,这是网站激活验证邮件!'; $mail->setSubject("=?UTF-8?B?".base64_encode($title)."?="); $mail->send(); ?>
好了,大致用Zend_Mail发送邮件就是这个原理,当然还有更多高级点的用法.比如说邮件发送附件。一次性发送多个电子邮件.还有还有就是使用不同的Transport对象来发送不同的邮件。
转自:http://www.zendchina.net/?action-viewnews-itemid-1323
可参考:http://blog.csdn.net/zlb_xidian/archive/2009/08/09/4428756.aspx
Thursday, September 9, 2010
[转载]你用过的厕纸是扔进马桶还是扔进纸篓?
请问各位:你在厕所用过手纸后,是把它扔进冲水马桶冲走,还是扔进纸篓?我本人绝对是扔进马桶冲走。但是据我观察,我们单位以及我去过的公共厕所,人们大多都是把用过的厕纸扔进纸篓——因为那纸篓经常是满满的。这本来似乎是不值一提的小事,但最近居然引起中外“厕所文化”的冲突(见下面转贴的消息)。
实际上,现在的厕纸,完全能在水中充分软化,根本不会堵塞马桶下水道——我家马桶几十年来从未堵塞过就是证明。我看过孩子的一本外国儿童画书(已经译为中文),上面有一幅画配着文字:一头小狮子在坐便上大便完,拟人的马桶“张着大嘴”对它说:“我喜欢吃手纸”,于是小狮子把手纸扔进马桶。这说明外国人从小就教育儿童把用过的厕纸扔进马桶。 的确,在西方、日本等公厕内,你一般见不到马桶旁边有纸篓,即使有,也只是为用过的擦手纸巾或不溶于水的废弃物准备的。
当然,这种习惯不能怪老百姓,因为我们大多数公厕的墙上都贴着:“手纸用过后请扔进纸篓”,而纸篓似乎是公厕马桶间的标准配置。其实中国人的这个习惯是过去用报纸做厕纸代用品时留下的。更早些,可能与过去用茅坑时舍不得把手纸丢掉,因为积攒起来可以卖废纸有关。其实用过的肮脏厕纸丢在纸篓内看上去是令人很不舒服的,而且这肯定是一种污染源。纸篓的设置还给这种充满细菌的手纸回流到废品收购站提供了方便(我就见过收废品的人将其装入蛇皮袋收走),而回收不经严格消毒的手纸是非常恶心而且非常危险的。所以,我们应该坚决改变这个陋习,在用过马桶后,把手纸也丢进去用水冲走。
转帖:凤凰网文章:《中日手纸用法引起“文化摩擦”》(作者:sh-zhang )
最近,随着访日中国游客的不断增多,日本在热烈欢迎中国客人来日消费,拯救日本疲软的观光业和百货零售业,振兴日本经济的同时,也出现了责难中国客人礼仪和习惯问题的声音,这些声音的出现,有的是文化习惯的不同造成的摩擦,有的是对对方的文化不甚了解造成的误解,但是中国人旅日观光,正成为中日经济交往中一项不可缺少的“低炭产业” ,也是促进中日两国人民互相了解,增进友谊的重要途径,而对于这其中发生的文化摩擦,对于中国人来说应该尽量做到“入乡随俗”,比较快地熟悉日本的文化习惯,对于日本人来说,就是要“有容乃大” ,努力了解中国的文化特征和社会发展现状,学习对异文化的宽容态度,只有这样才能促进中日间旅游的健康发展。
随着中国观光游客数目的增加,日本观光地的厕所出现了“异象”。其中最为关注的是在东京的浅草寺公用厕所里用过的手纸不是扔在便池里冲走,而是扔在垃圾箱里。据寺院的人说,这种现象从去年开始急增,特别是中国的团体观光游客来访后尤其普遍。
浅草寺的相关人士称,开始时,他们用繁体汉字写了一则通告贴在厕所内,但“似乎未能把意思传达给中国游客”。现在他们改用简体汉字,希望能减少这种现象。
除了浅草寺,经常有中国旅行团光顾的东京电器大街秋叶原,也遇到了类似问题。
日本有的人认为这是中国人没有礼貌,其实这里有个了解中国文化和现状的问题,中国的下水道和水洗厕所的普及率还很低,就是有水洗厕所的地方,也不一定配备像日本这样在便池里能够融化,并马上冲走的纸张,中国的厕所用纸千差万别,没有统一的用纸,厕所很容易堵塞,在中国一般都在厕所里准备好装用过手纸的纸篓。现在随着中国水洗厕所的不断普及,一些专家也提议厕所不要放纸篓,这样对健康不利,但是由于中国手纸质量千差万别,水压高低不同,要做到日本这样,还需要很常时间的发展,中国客人的这种做法,不是恶意而是好心,他们担心厕所堵塞。其实日本在1963年水洗厕所的普及率才9%,水洗厕所在一般社会普及也是在20世纪80年代后期。
还有的商店,对中国人“砍价”觉得不可思议,日本一般是不砍价的,但是这里首先也有个文化问题,就是中国商业随着市场经济的发展,各种商业形态非常发达,特别是在日本很不发达的自由市场、露天市场,比日本发达得多,一物百价的情况经常出现。第二是日本一些导游,为了取得高额回扣带中国客人去那些不守商业规则的店铺,让中国客人花高价购买商品,还有的导游搞车上贩卖,哄抬物价,搞乱了中国客人的价格感觉。
有的商店也出,中国人经常打开商品的包装,他们对此很不满意。而追其原因,当然有中国人不了解日本的商业习惯的因素,但是中国在现阶段和日本比,商业道德和知识产权意识比较薄弱,中国仿造商品很多,客人在购买商品时不打开包装对于商品的真伪就抱有怀疑。解决这个办法的最好办法就是商家多摆出些样品,增加中国客人对商品的真实性的感官认识。
而今年5月发生在滋贺县滋贺市的一件事,更使文化摩擦升级。在5月份的一个傍晚,住在滋贺市琵琶湖附近的一家旅店里住宿的一群中国游客,在旅店附近散步,由于说话声音大了些,竞被一些住户报警,警察闻讯赶来,大大调查了一番,后来把导游找来,花了好长时间才把事情说清楚,但是中国游客还是战战兢兢,心有余悸。
日本人对中国游客大有怨言,中国游客对日本的服务也有微辞,如一名中国老年游客到日本某机场由于手续问题被困几个小时,其原因之一就是虽有能说中国话的职员,但是由于缺少对中国的情况和背景,中国话根本说不通,使问题的解决增添了不必要的麻烦。有的中国游客受了不良导游的当,高价购买普通商品,发誓再不来日本。
对于这些问题,日本媒体的一些做法值得称道,他们不是听一面之词,贸然报道,而是认真采访《中文导报》等华文媒体,理解中日的文化和发展阶段不同,进行消除文化摩擦的报道,如对于浅草寺的手纸事件,《产经新闻》通过采访《中文导报》指出:这是由于两国厕所文化存在差异,“中国游客并非恶意而为,他们是因为想到‘堵塞马桶就糟糕了’,才将手纸丢在外面的。”而日本人就没有这样的担心,他们如厕后直接将手纸丢进马桶冲走。
而日本富士电视台对这一事件不仅采访了《中文导报》,也采访了台湾的一名游客,台湾游客也说:台湾的手纸也比较厚,不容易冲走,同时也播放了《中文导报》建议:那就是清楚告诉游客,这样的纸扔在便池里不会堵塞,请安心,中国游客就会放心这样做的。
富士电视台还指出∶中国把用过的手纸扔在纸篓里才是礼貌。日本刚刚出现座便时还有人在里洗脸。看来文化的互相理解还需要相当长的时间。
由此可见,要想使中日间的旅游事业进行下去,中国人要快速“入乡随俗” ,同时克服在禁烟区吸烟、插队、随地吐痰、大声喧哗等习惯,而日本接待方面也要加深理解中国的发展阶段和不同的文化,“有大乃容”,不要把自己的文化作为唯一的尺度衡量外国游客,并由此产生拒绝和排斥的心理。
据日本旅游相关人士透露,作为“民间大使”的导游应该在消解文化摩擦上起重大作用,如果是对日本文化和习惯比较了解并有责任心的导游,会在事前向中国游客说明这些问题,这样的文化摩擦也就不会出现,但是现在无资格导游横行,有的不仅无能力说明这些问题,而且还为了取得高额回扣带中国客人到不守商业规则的店去,或在车上高高价贩卖,既破坏了日本的旅游市场,也损坏了中国游客的日本旅游心理。
精选15个国外CSS框架
什么是css框架
实际上还是让我们从框架说起吧。
框架就是一个你可以用于你的网站项目的基本的概念上的结构体。
css框架通常只是一些css文件的集合,这些文件包括基本布局、表单样式、网格或简单结构、以及样式重置。比如:
- typography.css 基本排版规则
- grid.css 基于网格的布局
- layout.css 通常的布局
- form.css for 表单样式
- general.css 更多通用规则
您还可以参考以下前端开发/CSS相关资源:
《推荐12款可用于前端开发的免费文本编辑器》
《Web前端开发必备手册下载》
《推荐20个让你学习并精通CSS的网站》
《300+Jquery, CSS, MooTools 和 JS的导航菜单资源》
下面一起来了解一下各种不同的CSS框架吧:
1.960 Grid System
960网格系统是一个通过提供通常使用的尺寸简化网站开发流程的努力的结果,基于960像素的页面宽度。它有两种类型,12和16列,他们可以独立使用或是协同使用。
2.WYMstyle CSS Framework
这个项目的目的是提供一组经过良好测试的模块化的CSS文件,能够用于网站的快速设计。WYMstyle是一组CSS文件,你可以很容易的组合这些文件来快速的创建你的网站的布局。通过提供可靠的、经过良好测试的CSS模块,WYMstyle 力求让每个网站防止枯燥的跨浏览器兼容性测试。
3.YAML CSS Framework
Dirk Jesse的强大的(X)HTML/CSS框架为许多的简单或更复杂的网站项目提供完整的默认模板包。YAML基于网页标准并支持所有现代浏览器。所有的 Internet Explorer的主要渲染漏洞都被解决。YAML 完全支持从5.x到7.0的所有的IE版本。
4.YUI Grids CSS
基本的YUI网格CSS提供4种预设的页宽、6种预设模板和再分为2、3、4卷的区块的功能。 这个4KB的文件可提供超过1000中页面布局组合。
有国外作者曾指出YUI Grids CSS中最值得学习的网格布局CSS写法:
- 负Margin技术
- 使用度量单位em
- 清除布局的浮动
5.Logicss Framework
Logic CSS 框架是用来减少开发符合web标准的xHTML布局的时间的一个由CSS文件和PHP程序组成的集合。通常跨浏览器表现行为(不是Meyer的reset 文件或是用“*”),排版支持文本字体大小调整(使用EMs) 和垂直居中,符合可定义的灵活的布局网格利用css代码生成工具。
6.CleverCSS
CleverCSS是一个用于css的受Python启发的小型的标记语言,它可用于以整洁的和结构化的方式创建一个样式表。在很多方面它都比 CSS2整洁和强大。与CSS最明显的区别是句法:它基于缩进而且不单调。虽然这显然违反了Python的规则,它依然是组织样式的很好的主意。
7.Elements CSS Frameworks
Elements 是一个实用的CSS框架。它是为了帮助设计师更快更高效的来写CSS而建立。Elements 已经超越了仅仅作为一个框架,它有自己的项目工作流。它拥有你完成项目所需的所有东西,这也让你和你的浏览者感到愉悦。阅读 概述 了解更多。
8.Blueprint CSS
Blueprint 是一个 CSS 框架,它的目的是减少你的css开发时间。它提供一个可靠的css基础去创建你的项目,BP由一个易用的网格、合理的布局和一个打印样式。
9.Schema Web Design Framework
Schema 是一个为了提供在重复的设计任务中必须的CSS和HTML标签而设计的表现层的网页框架设计。 与为每一个新的网站项目从零开始创建HTMl/CSS不同,Schema提供必要的基础来开始并立马让你的设计跑起来。
10.Emastic CSS Framework
Emastic 是一个CSS框架,它有连续的任务:探索陌生的新世界,寻找新生活和新的网站空间,大胆的去CSS框架尚未到达的领域。它是轻量的、在页面宽度上比较人性化,在网格中使用固定和不固定的列宽。 Elastic 用“em”布局。
11.That Standards Guy CSS Framework
* 只能调用单个样式文件
* 主样式需要取得CSS认证(WCAG 1.0);
* 跨浏览器兼容性—包括Internet Explorer (IE) 5.x for Mac;
* IE Hacks使用独立文件;
* 快速创建模板;
* 少量注释/实例演示,可以节省时间来理解。
12.Content with Style Framework
下一个逻辑步骤就是将这个扩展为CSS框架,允许使用写好并通过测试的组件来快速开发网站。实际上所需的是搞定一套命名习惯和一个灵活的基本模板…
13.Boilerplate CSS Framework
14.ESWAT Web Project Framework
ESWAT正在重新整理。如果你是冲着我的网站框架来的,那么你就可以在这里下载。也许你也想看看我的其他项目gmachina、AppleSeed。
15.Tripoli CSS Framework
Tripoli是一个用于HTML表现的通用css规范。通过重设和重建浏览器标准,Tripoli 为你的网站项目提供了一个标准的、跨浏览器表现的基础。
彬Go会经常更新前端开发/网页设计等相关技术及教程文章,欢迎订阅本博客来及时浏览本博客的最新教程及资源。
15款提高表格操作的jQuery插件
table表格由于它的浏览器兼容性和复杂的标签嵌套方式,可以算是添加样式最困难的对象之一了。大多数前端er都把网页中的table标签替 换为div,主要就是因为div要比table更容易添加CSS样式。但是我们在日常应用中仍然要用到table表格,其中最好的例子就是对照表。今天彬 Go将向大家推荐15个jQuery表格插件让你对数据表格进行显示、排序、筛选和操控。如jQuery表格排序插件、jQuery表格拖拽插件、jQuery树形表格插件、设置颜色、点击、替换等效果。
您还可以参考以下javascript相关资源:
《推荐9款很棒的网页绘制图表JavaScript框架脚本》
《了解jQuery技巧来提高你的代码》
《10种JavaScript特效实例让你的网站更吸引人》
《300+Jquery, CSS, MooTools 和 JS的导航菜单资源》
1.DataTables-强大的jQuery表格插件

DataTables是提供了大量特性的强大jQuery表格插件。例如:你可以自动轻松筛选、Ajax预读取数据、分页、列排序、高亮排序列、扩展插件支持、使用CSS或jQuery UI ThemeRoller 定制主题和完整文档。
2.uiTableFilter-jQuery表格过滤插件

uiTableFilter是一个用于表格行筛选的jQuery插件。插件作者提供了详细的例子来告诉大家如何将自己的表格和插件整合在一起并完成表格筛选。
3.Scrollable HTML Table-jQuery表格滚动插件

Scrollable HTML Table jQuery插件可以让你的表格变得可以滚动控制。
4.Tablesorter-jQuery表格排序插件

Tablesorter这个jQuery插件是用来将一个包含thead和tbody标签的标准HTML表格转变为无页面刷新的可排序表格。它不但支持多列排序,而且跨浏览器兼容并且能通过widget系统进行扩展。
5.Flexigrid-Web2.0 jQuery表格插件

Flexigrid 是一个轻量级的Web2.0 jQuery插件。它包含很多非常Cool的特性,如主题定制、分页、工具栏、搜索、排序、ajax读取数据源、调整列宽高尺寸等。
6.HeatColor-jQuery表格颜色插件

HeatColor可以让你根据元素的值来为元素设置颜色。 它的值的比对时根据预设的一个范围来进行比较,最后对他们自动进行颜色值的设置。
7.JQTreeTable-jQuery树形表格插件

使用JQTreeTable插件你可以得到一个树形表格,如果用户的浏览器禁用了JavaScript,那么他们也能看到普通形式的表格,并不影响可访问性。
8.Ingrid-jQuery表格插件

Ingrid是另一个数据表jQuery插件。它也有很多特性,比如列调整尺寸、排序、行列添加样式等。在作者网站提供了很棒的文档来告诉大家如何从头使用这个jQuery表格插件。
9.jQuery ColumnManager plugin

columnManager是可以控制任意表格列显示或隐藏的jQuery插件,而且它可以保存当前表格的状态至你下次访问。这个jQuery插件非常小巧轻量,仅3.6kb。
10.jQuery treeTable-jQuery树形表格插件

jQuery treeTable是小型的JQTreeTable, 它也能让你的table显示成树形结构. 这个插件也可以在浏览器禁用JavaScript时保持文档整洁并让原始table可以使用.
11.CSV2Table-CSV格式读取表格插件

CSV2Table 可以读取CSV文件,它从CSV文件中读取内容并创建成table表格.
12.Table Pagination-jQuery表格分页插件

这个jQuery表格分页插件可以在表格下面创建分页元素,你还可以通过各种设置来定制分页。
13.jQuery TableRowCheckboxToggle

这个jQuery表格插件可以让你再点击表格行的时候改变多选框状态并修改该行CSS样式。
14.Table Drag and Drop jQuery plugin-jQuery表格拖拽插件
这个简单的jQuery插件可以让用户使用拖拽行的方式重新排列表格各行,任意单独行可以设置为不可拖拽和/或不可放置。
15.uiTableEdit
uiTableEdit是由Greg Weber制作的很酷的jQuery表格编辑插件,它允许用户编辑表格内容。
英文原文:15 Great jQuery Plugins For Better Table Manipulation
翻译原文:15款提高表格操作的jQuery插件(彬Go)