﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-so true-随笔分类-Others</title><link>http://www.blogjava.net/bacoo/category/28262.html</link><description>心怀未来，开创未来！</description><language>zh-cn</language><lastBuildDate>Wed, 19 Dec 2012 15:43:31 GMT</lastBuildDate><pubDate>Wed, 19 Dec 2012 15:43:31 GMT</pubDate><ttl>60</ttl><item><title>ps学习</title><link>http://www.blogjava.net/bacoo/archive/2012/12/19/393226.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Wed, 19 Dec 2012 13:13:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2012/12/19/393226.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/393226.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2012/12/19/393226.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/393226.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/393226.html</trackback:ping><description><![CDATA[<h3>
        <span class="link_title"><a href="http://blog.csdn.net/haha00217/article/details/7969504">一. 选取<br />1.相关的基本工具有选框工具、套索工具、快速选择工具，选取又分为&#8220;新选区&#8221;、&#8220;添加到选区&#8221;、&#8220;从选区减去&#8221;、&#8220;与选区交叉&#8221;四种方式； <br />2.选区选出来之后，可以在选择菜单中选择修改－》羽化，羽化一方面会使得选区边缘变圆滑，另一方面会使得边<br />缘部分出现半透明的过渡效果；还有反向菜单；还有变换菜单，可以整体移动选区（移动工具会移动选区选中的图<br />层中的图像，而不是移动选区本身）或者旋转选区；<br />3.选区可以保存成alpha通道；<br />4.选区一旦选出来之后，再做任何涂抹或者<br />二。选取的策略<br />1. 简单的，可以通过快速选取或者魔棒来搞定；<br />2. 边界清晰的，用磁性套索搞定；<br />3. 复杂的，可以通过抽出滤镜来搞定，这个滤镜很好用，也很智能；<br />4. 如果边缘很凌乱，例如毛发，可以通过通道中的某一个分量（可以是rgb模式，也可以用cmyk等其他模式）来得<br />到选区，并且可以结合大量的图像调整来进行，其实就是把某个通道看作是一个蒙板，黑色表示遮住，白色表示显<br />示，黑白之间的过渡色表示透明程度。图像调整主要有：反向、色阶、曲线、阈值等多种调整方法，总之目的就是<br />让黑的遮住不想选的，白的露出想被选的；<br />5. 还可以通过快速蒙板来得到选区；总之，如果只是单纯的选与不选可以不考虑蒙板，如果对选的部分也要进行&gt;透明处理或透明过渡，就需要把选区变成蒙板，对黑白图片进行处理，然后再从蒙板得到选区；<br />三。图层<br />图层是最基本的概念，说白了就是一张张透明的玻璃板，每张上面都可以画部分图、画满图、画有一定透明度的图<br />，最后整幅画的效果就是把一大摞图层合起来的整体效果（可以想像一下一大摞玻璃板合起来再让你看是啥样子）<br />，很自然，上面的玻璃板上的图案会覆盖下面的玻璃板上的图案（如果上面的玻璃板上的图案不透明的话）。<br />四。蒙板<br />蒙板就是在玻璃板（图层）上盖了又一层等尺寸的玻璃板，黑色表示遮住，白色表示露出，灰色表示半透明。<br />五。通道<br />通道就是组成图的某个分量，例如rgb模式，就有r、g、b三个通道。alpha通道是用来保存路径的。</a></span></h3><p><br /></p><p>一些技巧：</p><p>1. 有时候想从图中删掉一个部分，准确的说是用周围的颜色覆盖这个东西，这个时候，可以用修补工具，先选定这个东西，然后用修补工具，把选区挪动到旁边的区域，那么这个东西就会被旁边区域的图像填充，这个功能比仿制图章工具好用多了。<br /></p><img src ="http://www.blogjava.net/bacoo/aggbug/393226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2012-12-19 21:13 <a href="http://www.blogjava.net/bacoo/archive/2012/12/19/393226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>进程的虚拟地址空间</title><link>http://www.blogjava.net/bacoo/archive/2008/11/20/241586.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Thu, 20 Nov 2008 03:15:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2008/11/20/241586.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/241586.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2008/11/20/241586.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/241586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/241586.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 昨晚看到了深夜，终于对进程的虚拟地址空间有了个大致的了解，很激动，也很欣慰。回头想来，一个程序员，真的应该知道这些知识，否则还真不太称职。首先告诉大家，我后面提到的这些知识在《windows核心编程》中都有，强烈建议大家把这本书翻翻，我相信会对你的编程境界拔高好几个层次的。可是我最近没那么多时间，因此就只能了解个大概，然后等今后闲暇时再看这本书吧。昨天我媳妇还反复和我说：学东西必须要有选择...&nbsp;&nbsp;<a href='http://www.blogjava.net/bacoo/archive/2008/11/20/241586.html'>阅读全文</a><img src ="http://www.blogjava.net/bacoo/aggbug/241586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2008-11-20 11:15 <a href="http://www.blogjava.net/bacoo/archive/2008/11/20/241586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>找工作的经历！</title><link>http://www.blogjava.net/bacoo/archive/2008/10/23/236077.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Wed, 22 Oct 2008 16:44:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2008/10/23/236077.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/236077.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2008/10/23/236077.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/236077.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/236077.html</trackback:ping><description><![CDATA[终于静下来了，不过2008年10月22日这一天也即将过去了，这一天对于而言，应该是很重要也很有意义的一天。今天我定下了人生中的第一个offer，拿一个offer并不是什么稀罕事情，但是如果能找到一个合适自己的offer，自己也很心仪的却很难，尤其是今年就业形势比较严峻，大家都很焦急的时候，能这么及时的给我一个让我比较满意的offer，很知足了。<br />
下面就简要回顾一下我找工作的经历，其实我早就开始为工作做准备了，一直以来都渴望有实习的机会，但是很不凑巧，直到最后也没有找到实习的机会，不过现在以一个过来人看实习这个东西的话，我个人觉得实习并不是很重要，除非你在很牛的公司实习过。<br />
首先说一下自己的求职经历：先是百度笔试未通过，不过后来鼓起勇气去霸王面了，结果还不错，一面完事之后顺利接到了二面的通知，二面之后有点担心，觉得够呛了，但是又意外的接到了三面通知，三面时间最长，历史一个半小时，二面是一个小时，一面是半个小时。自己觉得三面还不错，但是事情却远没有我想得那么顺利，第二天通过师姐的内部消息，得知了自己三面应该是被拒了，但是还没有收到最后的拒信，直到现在还没有，因此还在等待，不过估计希望极为渺茫了。<br />
百度之事过去之后，然后是参加了日冲的笔试，虽然最后也给我面试机会了，但是我没有参加面试。<br />
然后是博科，一个赴日的小公司，不过它只是一个代理，它背后是著名的日本sony，我要应聘的也是sony的子公司SDNA，主要是给sony各种产品作内部的软件的，一面二面都很顺利，到三面终面的时候，真的这次要和日本人面对面交流的时候，由于时间上和腾讯笔试冲突，因此也没有参加最终的三面。<br />
期间还考过北大方正，但是没给面试通知，据说笔试答得太好的他们不要，无所谓了。还有大连海辉，笔试完事了，直到现在还没有消息。还有上海的富士施乐，笔试参加之后接着被鄙视，我自己感觉答得还是蛮不错的，难道又是&#8220;答得太好不要&#8221;？不得而知了，无所谓，&#8220;此处不留爷，自有留爷处；处处不留爷，老子吃铁路&#8221;，这是纲哥的名言，我牢记在心。期间还有北京的东芝，通过了笔试，通过了一面，明天是二面，但是由于它工作的内容我不大喜欢，虽然是在我最最想去的北京，虽然工资给得很高，但是我不喜欢强迫自己做那些自己不喜欢的工作，因此那就不去北京终面了吧。这两天我还同时在参加腾讯的面试，笔试通过后，前天参加了一面，今天早晨参加了二面，还在等后续的通知，不过估计可能性很小了，因为我感觉他们需要的人和我不是很对口，他们总问我网游，而我却没有玩过任何的网游，悲哀啊，读这么些年书，做了这么久的学生，居然没有玩过网游，不能不说是一种悲哀，但是我相信即便我玩的话，也玩不好，呵呵，因为我知道自己在游戏方面一向是不开窍的。期间还被sony鄙视过，今天又被EMC鄙视了，还被Intel鄙视了，当然我说的都是因为简历没经过筛选，当然也就是被鄙视了。哦，我忘了一个很重要的公司，那就是沈阳的东软，我好像是这个公司面试的第一个人，而且我感觉他们对我挺感兴趣的，本来说好这周一给我通知的，我以为可以给我offer，但是这周一收到的电话是说下周一才有结果，工资大概是6k，在沈阳来说已经很牛了，我当时之所以不去东芝，其实主要就是因为这家沈阳东软，因为他们用Linux平台，用c/c++开发，对Tcp/IP要求较高，做的产品不是外包，而是防火墙之类的信息安全产品，因此我看重了他们的产品，看重了工资，<br />
看重了沈阳距离大连近，毕竟媳妇还在学校读书呢，这样以后俩人见面方便点，当这家公司在周一没给我offer时，当时很让我郁闷，虽然答应我下周一给消息，但是由于我身边已经有人拿到offer了，我感觉他们是在犹豫，想给自己一个缓冲的时间，看来我已经不是他们最需要和最想要的人，没准就是个鸡肋，而我，自尊心还是比较强的，不愿意充当这样一个可有可无的角色，因此我对沈阳东软的热情不是很高了，不过现在我已经拿到了阿里巴巴的offer，以后也不必再考虑它了，即便它要我，呵呵。哦，对了，微软笔试结果还没出来，不过估计也被拒了。还有大连金山，直接就没给我笔试通知，估计是我简历上写的期望月薪太高了，居然写了5k，在他们眼里看来，这有点离谱。<br />
恩，我找工作的所有公司基本就是这些。这些公司里，对我比较重要的是百度，东芝，沈阳东软，腾讯，阿里巴巴，恩，就这些，最终定下来的就是阿里巴巴。<br />
期间我还让我北邮的同学帮我关注了一些北邮的招聘会，当时是何等的羡慕北邮啊，有那么多那么多的IT公司在那里开招聘会，把我眼红坏了，呵呵，不过毕竟自己不在那里读书，干啥都不方便，要找工作，还得是在本校找，其他的都别扯，那都是野活儿，还是得从眼前做起。<br />
找工作时，我给自己定的方向是：Linux平台，C/C++开发语言，绝对不做外包，不太想搞软件开发，想搞嵌入式，偏算法，偏设计，注重工作质量和代码效率的工作岗位。说白了，就是搞些深入的东西，有难度的东西，呵呵，虽然我的目标定得不错，但是我却并不具备这些技能，所以我找工作的时候比较矛盾，我想去的职位我不附和人家要求，符合我要求的职位我不想去，比如Java，软件外包之类的工作。唉，因此自己的这点小本事很难寻觅到符合自己目标的岗位，也正因为如此，导致沈阳东软给我希望时，让我能如此的想去那里，同样也导致了我一开始就对北京东芝软件设计职位的不感兴趣，我还是想做开发，想写代码，直接作设计，去整那些空中楼阁是自己很不喜欢的。<br />
回想一下自己的求职经历，觉得自己对面试把握得还是不错的，基本没有因为面试被刷下来，也基本没有因为笔试被刷下来，除了百度和微软这种让你纸上写大段完整代码的BT考法不能适应之外，其他的都还OK，其实自己真的没什么好牛的，而且准确的说，还应该是个技术很浅薄的人。因此，我觉得当今之世，想要找一份好点的工作并不是很难，只要大家对技术感兴趣，对技术热衷，有那么点造诣和成果就可以了。<br />
自己总结一下，找工作的几样利器是：精通C/C++，这个东西一定要学得深点；做过一两个软件开发的项目，即便不是很有技术含量，即便不是很高深，但是必须得有，因为很多公司都要问到项目的，如果你一个没有，那还真说不过去；实习不一定要有；计算机证书最好有那么一两个（不包括国家二级三级四级）；英语一定要过六级，如果想去外企，口语一定要好，也就是能滔滔不绝的讲，而不在乎是否有语法错误；最好有几个奖学金；除此之外，最重要的是，能和面试管交流的很OK，别让他对你反感了，其实面试管也是人，和你我一样，你作为被面试者，千万不要觉得自己比人家低多少，大家都平等的，我觉得能把面试管聊爽了很重要，你真能做到这一点，那么你找工作成功的机率就大了一半，而且一定要善于揣测面试管发问的原由是什么，回答时也要讲求策略和战术，不能针对问题本身回答，最好能朝着对自己有利的方向来回答，而且要善于不失时机的把自己的优点水到渠成的表达出来，这个很难，需要多细细体会，我觉得什么样的人最招面试管的喜爱呢，应该是大家平时觉得你很友善，很待人亲的人，这样的人同样也会让面试管对你有好感。至于如何让自己特别自信，如何让自己不紧张，如何超水平临场发挥，这都不是学来的，都得看你自己对语言对人的驾驭能力了。<br />
其实大家一看我提到的那些硬性指标，很多人都是满足的，或许差就差在最后一方面了，也就是情商上，这个需要平日里多和身边的同学打交道，其实这也是表面，一个人高情商的支撑点在于他看待问题是否足够的深刻和本质，这个很重要，因此大家可以问问自己，&#8220;我看问题够深刻，够本质吗？&#8221;<br />
好了，我的找工作经历就写到这里，最后给出一条走IT道路的标准化走法：一定要在北京读书，专业就学计算机，一定要精通C/C++，一定要精通Linux，一定要懂点java，一定要英语口语流利，一定要强化逻辑推理能力，一定要做几个项目，一定要有几个让你为自己骄傲的地方，普通话一定要好，说话一定要够快和吐字清晰，别墨迹别低声，一定要做点各个公司的笔试题，一定要多参加几场笔试，不要不屑于小公司，我相信没有任何一家公司的笔试题目你可以答满分，因此总是能让你发现问题；一定要面试前上网搜点资料来临阵磨枪。<br />
呵呵，写到这里，关于我的求职经历基本就告一段落了，现在一想，才发现自己把大方向弄错，其实我并不想介绍什么求职经验，只是想写出自己的求职的一个过程，好在以后能有机会让自己回味这段历程。其实我是很感慨的，因为学习了18.5年的课本，在学校呆了这么久，古人十年寒窗，今人却更甚之，因此真的不容易啊，有一个环节没把握好都不行的，这么些年，一直孜孜以求，认真的去面对学习，没有一刻放弃过，坚持了下来，着实不易。相信每一个求学了这么多年的学子，在找到一份满意的工作之后都会有这种感觉，毕竟自己奋斗了这些最终物有所值了，能够换成money了，呵呵，开心。以后的路还有很长，那就用一句我个人简历上的自创的话来结束吧：道阻且长天行健；心怀未来定乾坤！<br />
哦，还想起了苹果总裁Jobs的一句经典结束语&#8220;Stay hungry, Stay foolish!&#8221;
 <img src ="http://www.blogjava.net/bacoo/aggbug/236077.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2008-10-23 00:44 <a href="http://www.blogjava.net/bacoo/archive/2008/10/23/236077.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ajax基本知识</title><link>http://www.blogjava.net/bacoo/archive/2008/09/21/230209.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Sat, 20 Sep 2008 17:22:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2008/09/21/230209.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/230209.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2008/09/21/230209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/230209.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/230209.html</trackback:ping><description><![CDATA[<p>Ajax全称是Asynchronous JavaScript XML,这并不是一项新技术，而只是将一些已有的技术进行了整合，从而实现了页面在不刷新的状态下也可以连接服务器来更新页面内容，也即部分刷新技术，或不完全刷新。<br />
Ajax的核心类是XMLHttpRequest类，从IE5.0开始被支持，Ajax的处理过程大概是这个样子的：</p>
<p>1.首先通过JavaScript来建立一个XMLHttpRequest类的实例；<br />
2.通过属性onreadystatechange来设定回调函数；<br />
3.调用该实例的open方法：open(数据传送方式GET/POST，服务器URL，是否异步，[用户名]，[口令])；<br />
4.调用该实例的send方法：send(XML数据/字符串/流/无符号整数数组/null)，注意如果为null，则表示不传递额外的数据，仅用Open方法中指定的服务器URL来进行响应即可；<br />
5.在回调函数中先通过readyState属性检测异步操作的状态：未初始化(0)，正在加载(1)，已加载(2)，交互(3)，已完成(4)；<br />
6.再在回调函数中检测服务器返回的HTTP状态码status，200代表正常；<br />
7.再在回调函数中，利用返回的数据(responseBody：返回为无符号整数数组/responseStream：返回为IStream流/responseText ：返回字符串/responseXML：返回为XML格式数据。)，基于DOM，使用JavaScript技术来修改文档的结构。</p>
<p>总结一下：<br />
其实，Ajax就是通过JavaScript创建XMLHttpRequest对象，再由JavaScript调用XMLHttpRequest对象的方法完成异步通信；然后，再由JavaScript通过DOM的属性和方法，完成页面的不完全刷新。</p>
<p>最后再说明一下异步：同步表示send之后需要一直等待服务器完全响应之后才能进行后续的操作，因此需要等待；而异步表示send之后立即返回，可以继续其他的操作，而服务器一旦返回后可以自行调用回调函数来执行动作。</p>
<p>在ASP.NET应用中，可以先安装一个Microsoft ASP.NET 2.0 AJAX Extensions 1.0，然后就可以使用Ajax的一些常用控件了，比如UpdatePanel，以及Timer等，但用之前不要忘记在页面开始加一个ScriptManager；也可以再安装AjaxControlToolkit来获得更多的Ajax控件。</p>
<p>=========================<br />
Ajax 应用程序所用到的基本技术<br />
1.html<br />
&nbsp;&nbsp;&nbsp; 组成web页面所用到的基本元素<br />
2.javascript<br />
&nbsp;&nbsp;&nbsp; javascript代码是AJAX应用程序核心的代码，帮助ajax程序改进与服务器通讯以实现不一样的用户体验<br />
3.Dynamic HTML<br />
&nbsp;&nbsp;&nbsp; 用于动态更新web页面<br />
4.DOM（文档对象模型）<br />
&nbsp;&nbsp;&nbsp; 用于通过javascrip代码处理HTML或服务器返回的XML</p>
<p>javascript与服务器端通信的最核心的对象<br />
xmlHttp对象:传送XML格式数据的超文本传输协议<br />
实际上XMLHTTP传输的数据可以是XML格式数据，也可以是字符串，流，或者一个无符号整数数组。还可以是URL的参数,它下达的结果可以是XML格式数据，也可以是字符串，流，或者一个无符号整数数组。</p>
<p>调用步骤<br />
1、创建XMLHTTP对象<br />
2、打开与服务端的连接，同时定义指令发送方式，服务网页(URL)和请求权限等。&nbsp; <br />
3、发送指令。 <br />
4、等待并接收服务端返回的处理结果。 <br />
5、释放XMLHTTP对象</p>
<p>方法<br />
open(数据传送方式(GET/POST/HEAD),服务器URL,是否异步执行,[用户名],[口令])<br />
如：<br />
open("GET","http://www.sohu.com",true)</p>
<p>send(content)<br />
可以是XML格式数据，也可以是字符串，流，或者一个无符号整数数组。也可以省略，让指令通过Open方法的URL参数代入。<br />
如：send(null);</p>
<p>setRequestHeader(HTTP 头,HTTP 头值)<br />
如：xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")</p>
<p>abort()取消当前 HTTP 请求</p>
<p>getAllResponseHeaders ()<br />
从响应信息中检索所有的HTTP 头字段</p>
<p>getResponseHeader(HTTP 头)<br />
从响应信息正文中获得一个 HTTP 标头值</p>
<p>属性<br />
onreadystatechange：用以状态改变后所要作的处理的事件句柄。 <br />
readyState 异步操作的状态：未初始化(0)，正在加载(1)，已加载(2)，交互(3)，已完成(4) <br />
responseBody：返回为无符号整数数组。 <br />
responseStream：返回为IStream流。 <br />
responseText ：返回字符串。 <br />
responseXML：返回为XML格式数据。 <br />
status：服务器返回的HTTP状态码 <br />
statusText ：服务器HTTP响应行状态</p>
<p>说明<br />
1.同步和异步<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 同步状态下发送http请求后，只有当客户端接收到来自服务端的全部应答数据或协议栈超时返回！反之异步状态下，直接返回。在异步方式下数据包一旦发送完毕就结束send进程客户端执行其他的操作,而在同步方式下客户端要等到服务器返回确认消息后才结束send进程。实际运用中我们根据实际情况使用同步或异步，注意了如果设为同步状态可能因为服务器返回数据量大或响应慢而导致不必要的长时间等待！</p>
<p>2.POST和GET<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用"POST"方式发送数据.可以大到4MB "GET"只能256KB <br />
========================================================<br />
一个实例：<br />
&lt;!--Request.htm-----------------------------------------------------------&gt;</p>
<p>&lt;html&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;head&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;title&gt;Ajax应用实例&lt;/title&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type="text/javaScript"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var xmlHttp;</p>
<p>var requestType="";</p>
<p>function createXMLHttpRequest(){</p>
<p>&nbsp;&nbsp;&nbsp; if(window.ActiveXObject){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; else if(window.XMLHttpRequest){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp = new XMLHttpRequest();</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p>function startRequest(theRequestType){</p>
<p>requestType = theRequestType;</p>
<p>&nbsp;&nbsp;&nbsp; createXMLHttpRequest();</p>
<p>&nbsp;&nbsp;&nbsp; xmlHttp.onreadystatechange = myCallback;</p>
<p>&nbsp;&nbsp;&nbsp; xmlHttp.open("GET","Response.xml",true);</p>
<p>&nbsp;&nbsp;&nbsp; xmlHttp.send(null);</p>
<p>}</p>
<p>function myCallback(){</p>
<p>&nbsp;&nbsp;&nbsp; if(xmlHttp.readyState==4){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(xmlHttp.status==200){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(requestType=="all")</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listAll();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(requestType=="north")</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listNorth();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p>function listAll(){</p>
<p>&nbsp;&nbsp;&nbsp; var xmlDoc = xmlHttp.responseXML;</p>
<p>&nbsp;&nbsp;&nbsp; var allProvs = xmlDoc.getElementsByTagName("prov");</p>
<p>&nbsp;&nbsp;&nbsp; outputList("all",allProvs);</p>
<p>}</p>
<p>function listNorth(){</p>
<p>&nbsp;&nbsp;&nbsp; var xmlDoc = xmlHttp.responseXML;</p>
<p>&nbsp;&nbsp;&nbsp; var north = xmlDoc.getElementsByTagName("north")[0];</p>
<p>&nbsp;&nbsp;&nbsp; var northProvs = north.getElementsByTagname("prov");</p>
<p>&nbsp;&nbsp;&nbsp; outputList("north",northProvs);</p>
<p>}</p>
<p>function outputList(title,provs){</p>
<p>&nbsp;&nbsp;&nbsp; var out=title;</p>
<p>&nbsp;&nbsp;&nbsp; var currentProv = null;</p>
<p>&nbsp;&nbsp;&nbsp; for(var i=0;i&lt;provs.length;i++){</p>
<p>&nbsp;&nbsp;&nbsp; currentProv = provs[i];</p>
<p>&nbsp;&nbsp;&nbsp; out = out + &#8220;&lt;br/&gt;&#8221; + currentProv.childNodes[0].nodeValue;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; document.getElementById(title).innerHTML = out;</p>
<p>}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/head&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;body&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h1&gt; Ajax应用实例&lt;/h1&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;form action="#"&gt;</p>
<p>&lt;input type="button" value="列出所有沿海省市"</p>
<p>conclick="startRequest('all'); "/&gt;</p>
<p>&lt;div id="all"&gt;&lt;/div&gt;</p>
<p>&lt;input type="button" value="列出江北沿海省市" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conclick="startRequest('north'); "/&gt;</p>
<p>&lt;div id="north"&gt;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/form&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p>&lt;!--Response.xml----------------------------------------------------------&gt;</p>
<p>&lt;?xml version="1.0"encoding="utf-8" ?&gt;</p>
<p>&lt;provs&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;north&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prov&gt;辽宁&lt;/prov&gt;&lt;prov&gt;河北&lt;/prov&gt;&lt;prov&gt;天津&lt;/prov&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prov&gt;山东&lt;/prov&gt;&lt;prov&gt;江苏&lt;/prov&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/north&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;south&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prov&gt;浙江&lt;/prov&gt;&lt;prov&gt;福建&lt;/prov&gt;&lt;prov&gt;广东&lt;/prov&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prov&gt;广西&lt;/prov&gt;&lt;prov&gt;海南&lt;/prov&gt;&lt;prov&gt;上海&lt;/prov&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prov&gt;台湾&lt;/prov&gt;&lt;prov&gt;香港&lt;/prov&gt;&lt;prov&gt;澳门&lt;/prov&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/south&gt;</p>
<p>&lt;/provs&gt;<br />
&nbsp;<br />
</p>
<img src ="http://www.blogjava.net/bacoo/aggbug/230209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2008-09-21 01:22 <a href="http://www.blogjava.net/bacoo/archive/2008/09/21/230209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>字符编码方式基本知识</title><link>http://www.blogjava.net/bacoo/archive/2008/08/18/222804.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Mon, 18 Aug 2008 08:14:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2008/08/18/222804.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/222804.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2008/08/18/222804.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/222804.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/222804.html</trackback:ping><description><![CDATA[<p>ASCII：基本字符集是128个常用字符，扩展字符集是128个，共256个，用1个字节表示。<br />
GB2312：6千多个常用汉字<br />
GBK：1万多个汉字<br />
GB18030：更多，不过依然是两个字节来表示汉字。<br />
上面三种GB*可以统一称为ANSI编码，且16个bit的第一个必定是1。<br />
BIG5：繁体字符集，用于台湾地区</p>
<p>Unicode：两字节表示的世界通用码，存储为文本时会有连个字节的头信息。<br />
UTF-8：一种以8个bit为一组的Unicode的表示格式，存储为本文时有三个字节的头信息。<br />
UTF-16：16个bit为一组</p>
<p>单词全称：<br />
ASCII: American Standard Code Information Interchange<br />
ANSI: American National Standard Institue<br />
GB: Guo Biao<br />
UTF: Unicode Translation Format</p>
<p>========================================================<br />
字符是各种文字和符号的总称，包括各国家文字、标点符号、图形符号、数字等。字符集是多个字符的集合，字符集种类较多，每个字符集包含的字符个数不同，常见字符集名称：ASCII字符集、GB2312字符集、BIG5字符集、 GB 18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字，需要进行字符编码，以便计算机能够识别和存储各种文字。</p>
<p>中文文字数目大，而且还分为简体中文和繁体中文两种不同书写规则的文字，而计算机最初是按英语单字节字符设计的，因此，对中文字符进行编码，是中文信息交流的技术基础。本文将按照字符集的时间顺序讨论几种典型的字符集，选取几种代表性的中文字符集，研究历史由来、特点、技术特征。</p>
<p>ASCII 字符集</p>
<p>1．名称的由来</p>
<p>ASCII（American Standard Code for Information Interchange，美国信息互换标准代码）是基于罗马字母表的一套电脑编码系统。</p>
<p>2．特点</p>
<p>它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统，并等同于国际标准ISO 646。</p>
<p>3．包含内容</p>
<p>控制字符：回车键、退格、换行键等。</p>
<p>可显示字符：英文大小写字符、阿拉伯数字和西文符号</p>
<p>4．技术特征</p>
<p>7位（bits）表示一个字符，共128字符</p>
<p>5．ASCII扩展字符集</p>
<p>7位编码的字符集只能支持128个字符，为了表示更多的欧洲常用字符对ASCII进行了扩展，ASCII扩展字符集使用8位（bits）表示一个字符，共256字符。</p>
<p>ASCII扩展字符集比ASCII字符集扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号。</p>
<p>GB2312 字符集</p>
<p>&nbsp;1．名称的由来</p>
<p>GB2312又称为GB2312-80字符集，全称为《信息交换用汉字编码字符集&#183;基本集》，由原中国国家标准总局发布，1981年5月1日实施。</p>
<p>2．特点</p>
<p>GB2312是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率，基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。</p>
<p>3．包含内容</p>
<p>GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母，共 7445 个图形字符。其中包括6763个汉字，其中一级汉字3755个，二级汉字3008个；包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。</p>
<p>4．技术特征</p>
<p>（1）分区表示：</p>
<p>GB2312中对所收汉字进行了&#8220;分区&#8221;处理，每区含有94个汉字/符号。这种表示方式也称为区位码。</p>
<p>各区包含的字符如下：01-09区为特殊符号；16-55区为一级汉字，按拼音排序；56-87区为二级汉字，按部首/笔画排序；10-15区及88-94区则未有编码。</p>
<p>（2）双字节表示</p>
<p>两个字节中前面的字节为第一字节，后面的字节为第二字节。习惯上称第一字节为&#8220;高字节&#8221; ，而称第二字节为&#8220;低字节&#8221;。</p>
<p>&#8220;高位字节&#8221;使用了0xA1-0xF7(把01-87区的区号加上0xA0)，&#8220;低位字节&#8221;使用了0xA1-0xFE(把01-94加上0xA0)。</p>
<p>5．编码举例</p>
<p>以GB2312字符集的第一个汉字&#8220;啊&#8221;字为例，它的区号16，位号01，则区位码是1601，在大多数计算机程序中，高字节和低字节分别加0xA0得到程序的汉字处理编码0xB0A1。计算公式是：0xB0=0xA0+16, 0xA1=0xA0+1。</p>
<p>BIG5 字符集</p>
<p>1．名称的由来</p>
<p>又称大五码或五大码，1984年由台湾财团法人信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大众 (FIC)创立，故称大五码。</p>
<p>Big5码的产生，是因为当时台湾不同厂商各自推出不同的编码，如倚天码、IBM PS55、王安码等，彼此不能兼容；另一方面，台湾政府当时尚未推出官方的汉字编码，而中国大陆的GB2312编码亦未有收录繁体中文字。</p>
<p>2．特点</p>
<p>Big5字符集共收录13,053个中文字，该字符集在中国台湾使用。耐人寻味的是该字符集重复地收录了两个相同的字：&#8220;兀&#8221;(0xA461及0xC94A)、&#8220;嗀&#8221;(0xDCD1及0xDDFC)。</p>
<p>3．字符编码方法</p>
<p>Big5码使用了双字节储存方法，以两个字节来编码一个字。第一个字节称为&#8220;高位字节&#8221;，第二个字节称为&#8220;低位字节&#8221;。高位字节的编码范围0xA1-0xF9，低位字节的编码范围0x40-0x7E及0xA1-0xFE。</p>
<p>各编码范围对应的字符类型如下：0xA140-0xA3BF为标点符号、希腊字母及特殊符号，另外于0xA259-0xA261，存放了双音节度量衡单位用字：兙兛兞兝兡兣嗧瓩糎；0xA440-0xC67E为常用汉字，先按笔划再按部首排序；0xC940-0xF9D5为次常用汉字，亦是先按笔划再按部首排序。</p>
<p>4．Big5 的局限性</p>
<p>尽管Big5码内包含一万多个字符，但是没有考虑社会上流通的人名、地名用字、方言用字、化学及生物科等用字，没有包含日文平假名及片假名字母。</p>
<p>例如台湾视&#8220;着&#8221;为&#8220;著&#8221;的异体字，故没有收录&#8220;着&#8221;字。康熙字典中的一些部首用字(如&#8220;亠&#8221;、&#8220;疒&#8221;、&#8220;辵&#8221;、&#8220;癶&#8221;等)、常见的人名用字(如&#8220;堃&#8221;、&#8220;煊&#8221;、&#8220;栢&#8221;、&#8220;喆&#8221;等) 也没有收录到Big5之中。</p>
<p>GB18030 字符集</p>
<p>1．名称的由来</p>
<p>GB 18030的全称是GB18030-2000《信息交换用汉字编码字符集基本集的扩充》，是我国政府于2000年3月17日发布的新的汉字编码国家标准，2001年8月31日后在中国市场上发布的软件必须符合本标准</p>
<p>2．特点</p>
<p>GB 18030字符集标准的出台经过广泛参与和论证，来自国内外知名信息技术行业的公司，信息产业部和原国家质量技术监督局联合实施。</p>
<p>GB 18030字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符集计算机编码问题。该标准的字符总编码空间超过150万个编码位，收录了27484个汉字，覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。并且与Unicode 3.0版本兼容，填补Unicode扩展字符字汇&#8220;统一汉字扩展A&#8221;的内容。并且与以前的国家字符编码标准（GB2312，GB13000.1）兼容。</p>
<p>3．编码方法</p>
<p>GB 18030标准采用单字节、双字节和四字节三种方式对字符编码。单字节部分使用0&#215;00至0&#215;7F码(对应于ASCII码的相应码)。双字节部分，首字节码从0&#215;81至0&#215;FE，尾字节码位分别是0&#215;40至0&#215;7E和0&#215;80至0&#215;FE。四字节部分采用GB/T 11383未采用的0&#215;30到0&#215;39作为对双字节编码扩充的后缀，这样扩充的四字节编码，其范围为0&#215;81308130到0&#215;FE39FE39。其中第一、三个字节编码码位均为0&#215;81至0&#215;FE，第二、四个字节编码码位均为0&#215;30至0&#215;39。</p>
<p>4．包含的内容</p>
<p>双字节部分收录内容主要包括GB13000.1全部CJK汉字20902个、有关标点符号、表意文字描述符13个、增补的汉字和部首/构件80个、双字节编码的欧元符号等。　　四字节部分收录了上述双字节字符之外的，包括CJK统一汉字扩充A在内的GB 13000.1中的全部字符。</p>
<p>Unicode字符集</p>
<p>1．名称的由来</p>
<p>Unicode字符集编码是Universal Multiple-Octet Coded Character Set 通用多八位编码字符集的简称，是由一个名为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统，支持现今世界各种不同语言的书面文本的交换、处理及显示。该编码于1990年开始研发，1994年正式公布，最新版本是2005年3月31日的Unicode 4.1.0。</p>
<p>2．特征</p>
<p>Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码，以满足跨语言、跨平台进行文本转换、处理的要求。</p>
<p>3．编码方法</p>
<p>Unicode 标准始终使用十六进制数字，而且在书写时在前面加上前缀&#8220;U+&#8221;，例如字母&#8220;A&#8221;的编码为 004116 和字符&#8220;?&#8221;的编码为 20AC16。所以&#8220;A&#8221;的编码书写为&#8220;U+0041&#8221;。</p>
<p>4．UTF-8 编码<br />
UTF-8是Unicode的其中一个使用方式。 UTF是 Unicode Translation Format，即把Unicode转做某种格式的意思。</p>
<p>UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字，使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。</p>
<p>UTF-8使用可变长度字节来储存 Unicode字符，例如ASCII字母继续使用1字节储存，重音文字、希腊字母或西里尔字母等使用2字节来储存，而常用的汉字就要使用3字节。辅助平面字符则使用4字节。</p>
<p>5．UTF-16 和 UTF-32 编码<br />
UTF-32、UTF-16 和 UTF-8 是 Unicode 标准的编码字符集的字符编码方案，UTF-16 使用一个或两个未分配的 16 位代码单元的序列对 Unicode 代码点进行编码；UTF-32 即将每一个 Unicode 代码点表示为相同值的 32 位整数。<br />
========================================================<br />
什么是unicode, GB2312, GBK, ANSI, UTF</p>
<p>发展过程 ASCII &#224; GB2312(BIG5) &#224; GBK&#224;GB18030&nbsp; </p>
<p>字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码，为了处理汉字，程序员设计了用于简体中文的GB2312和用于繁体中文的big5。</p>
<p>GB2312(1980年)一共收录了7445个字符，包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7，低字节从A1-FE，占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。</p>
<p>GB2312支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号，它分为汉字区和图形符号区。汉字区包括21003个字符。</p>
<p>从ASCII、GB2312到GBK，这些编码方法是向下兼容的，即同一个字符在这些方案中总是有相同的编码，后面的标准支持更多的字符。在这些编码中，英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼，GB2312、GBK都属于双字节字符集 (DBCS)。</p>
<p>2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字，同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。从汉字字汇上说，GB18030在GB13000.1的20902个汉字的基础上增加了CJK扩展A的6582个汉字（Unicode码 0x3400-0x4db5），一共收录了27484个汉字。</p>
<p>CJK就是中日韩的意思。Unicode为了节省码位，将中日韩三国语言中的文字统一编码。GB13000.1就是ISO/IEC 10646-1的中文版，相当于Unicode 1.1。</p>
<p>GB18030的编码采用单字节、双字节和4字节方案。其中单字节、双字节和GBK是完全兼容的。4字节编码的码位就是收录了CJK扩展A的6582个汉字。例如：UCS的0x3400在GB18030中的编码应该是8139EF30，UCS的0x3401在GB18030中的编码应该是8139EF31。</p>
<p>微软提供了GB18030的升级包，但这个升级包只是提供了一套支持CJK扩展A的6582个汉字的新字体：新宋体-18030，并不改变内码。Windows 的内码仍然是GBK。&nbsp; </p>
<p>从ASCII、GB2312、GBK到GB18030的编码方法是向下兼容的。而Unicode只与ASCII兼容</p>
<p>Unicode也是一种字符编码方法，不过它是由国际组织设计，可以容纳全世界所有语言文字的编码方案。unicode 为java 中的编码转换桥梁,使用了以组流过滤器来桥接unicode编码文本和本地操作系统编码文本的隔阂(内码,如windows的GBK).所有的class 派生自abstract class Reader and Writer .后面继续研究.&nbsp; </p>
<p>由于现有的大量程序和文档都采用了某种特定语言的编码，例如GBK，Windows不可能不支持现有的编码，而全部改用Unicode。我们称GBK为windows的内码.Windows使用代码页(code page)来适应各个国家和地区。code page可以被理解为内码。GBK对应的code page是CP936。 </p>
<p>&nbsp;what is UCS?</p>
<p>Unicode的学名是"Universal Multiple-Octet Coded Character Set"，简称为UCS。UCS可以看作是"Unicode Character Set"的缩写。</p>
<p>UCS有两种格式：UCS-2和UCS-4。顾名思义，UCS-2就是用两个字节编码，UCS-4就是用4个字节（实际上只用了31位，最高位必须为0）编码。&nbsp; </p>
<p>什么是UTF</p>
<p>UTF，是Unicode Text Format的缩写，意为Unicode文本格式。对于UTF，是这样定义的&nbsp; </p>
<p>（1）如果Unicode的16位字符的头9位是0，则用一个字节表示，这个字节的首位是 &#8220;0&#8221;，剩下的7位与原字符中的后7位相同，如&#8220;\u0034&#8221;（0000 0000 0011 0100），用&#8220;34&#8221; (0011 0100)表示；（与源Unicode字符是相同的）；&nbsp; </p>
<p>（2）如果Unicode的16位字符的头5位是0，则用2个字节表示，首字节是&#8220;110&#8221;开头，后面的5位与源字符中除去头5个零后的最高5位相同；第二个字节以&#8220;10&#8221;开头，后面的6位与源字符中的低6位相同。如&#8220;\ u025d&#8221;（0000 0010 0101 1101），转化后为&#8220;c99d&#8221;（1100 1001 1001 1101）；</p>
<p>（3）如果不符合上述两个规则，则用三个字节表示。第一个字节以&#8220;1110&#8221;开头，后四位为源字符的高四位；第二个字节以&#8220;10&#8221;开头，后六位为源字符中间的六位；第三个字节以&#8220;10&#8221;开头，后六位为源字符的低六位；如&#8220;\u9da7&#8221;（1001 1101 1010 0111），转化为&#8220;e9b6a7&#8221;（1110 1001 1011 0110 1010 0111）；&nbsp; </p>
<p>UCS 和 UTF 的联系</p>
<p>UTF-8就是以8位为单元对UCS进行编码</p>
<p>UTF-16以16位为单元对UCS进行编码 </p>
<p>big endian和little endian</p>
<p>big endian和little endian是CPU处理多字节数的不同方式。例如&#8220;汉&#8221;字的Unicode编码是6C49。那么写到文件里时，究竟是将6C写在前面，还是将49写在前面？如果将6C写在前面，就是big endian。如果将49写在前面，就是little endian。</p>
<p>&#8220;endian&#8221;这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开，由此曾发生过六次叛乱，一个皇帝送了命，另一个丢了王位。</p>
<p>我们一般将endian翻译成&#8220;字节序&#8221;，将big endian和little endian称作&#8220;大尾&#8221;和&#8220;小尾&#8221;。<br />
=================================================<br />
GB2312是GBK的子集，GBK是GB18030的子集 <br />
GBK是包括中日韩字符的大字符集合 <br />
如果是中文的网站 推荐GB2312 GBK有时还是有点问题 <br />
为了避免所有乱码问题，应该采用UTF-8，将来要支持国际化也非常方便 <br />
UTF-8可以看作是大字符集，它包含了大部分文字的编码。 <br />
使用UTF-8的一个好处是其他地区的用户（如香港台湾）无需安装简体中文支持就能正常观看你的文字而不会出现乱码。</p>
<p>词条：UTF8 <br />
UTF8并不算是一种电脑编码，而是一种储存和传送的格式，如前所述，每个Unicode/UCS字符都以 2或4个bytes来储存，看看以下的比较： </p>
<p>　　以"I am Chinese"为例<br />
　　　用ANSI储存：12 Bytes<br />
　　　用Unicode/UCS2储存：24 Bytes + 2 Bytes(header)<br />
　　　用UCS4储存：48 Bytes + 4 Bytes(header)</p>
<p>　　以"我是中国人"为例<br />
　　　用ANSI储存：10 Bytes<br />
　　　用Unicode/UCS2储存：10 Bytes + 2 Bytes(header)<br />
　　　用UCS4储存：20 Bytes + 4 Bytes(header)</p>
<p>　　由此可见直接以Unicode/UCS的原始形式来储存是一种极大的浪费，而且也不利于互联网的传输(中文稍为合算一点^_^)。</p>
<p>　　有见及此，Unicode/UCS的压缩形式－－UTF8出现了，套用官方网站的首句话『UTF-8 stands for Unicode Transformation Format-8. It is an octet (8-bit) lossless encoding of Unicode characters.』，由于UTF也适用于编码UCS，故亦可称为『UCS transformation formats (UTF)』</p>
<p>　　UTF8是以8bits即1Bytes为编码的最基本单位，当然也可以有基于16bits和32bits的形式，分别称为UTF16和UTF32，但目前用得不多，而UTF8则被广泛应用在文件储存和网络传输中。</p>
<p><br />
编码原理</p>
<p>先看这个模板：</p>
<p>UCS-4 range (hex.) UTF-8 octet sequence (binary)<br />
0000 0000-0000 007F 0xxxxxxx<br />
0000 0080-0000 07FF 110xxxxx 10xxxxxx<br />
0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx</p>
<p>0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx<br />
0020 0000-03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx<br />
0400 0000-7FFF FFFF 1111110x 10xxxxxx ... 10xxxxxx</p>
<p>编码步骤：<br />
1) 首先确定需要多少个8bits(octets)<br />
2) 按照上述模板填充每个octets的高位bits<br />
3) 把字符的bits填充至x中，字符顺序：低位&#8594;高位，UTF8顺序：最后一个octet的最末位x&#8594;第一个octet最高位x<br />
4) 解码的原理一样。</p>
<p>实例：(留意每个bit的颜色，粗体字为模板内容)</p>
<p>UCS-4 UTF-8 <br />
HEX BIN Bytes BIN HEX Bytes <br />
0000 000A 00001010 4 00001010 0A 1 <br />
0000 0099 10011001 4 11000010 10011001 C2 99 2 <br />
0000 8D99 10001101 10011001 4 11101000 10110110 10011001 E8 B6 99 3 </p>
<p>　　不知大家看懂了没有，其实不懂也无所谓，反正又不用自己算，程式可以完全代劳。</p>
<p>　　以UTF8格式储存的文件档首标识为EF BB BF。</p>
<p><br />
效率</p>
<p>　　从上述编码原理中得出的结论是：<br />
　　　1.每个英文字母、数字所占的空间为1 Byte；<br />
　　　2.泛欧语系、斯拉夫语字母占2 Bytes；<br />
　　　3.汉字占3 Bytes。</p>
<p>　　由此可见UTF8对英文来说是个非常诱人的方案，但对中文来说则不太合算，无论用ANSI还是 Unicode/UCS2来编码都只用2 Bytes，但用UTF8则需要3 Bytes。</p>
<p>　　以下是一些统计资料，显示用UTF8来储存文件每个字符所需的平均字节：<br />
　　　1.拉丁语系平均用1.1 Bytes；<br />
　　　2.希腊文、俄文、阿拉伯文和希伯莱文平均用1.7 Bytes；<br />
　　　3.其他大部份文字如中文、日文、韩文、Hindi(北印度语)用约3 Bytes；<br />
　　　4.用超过4 Bytes的都是些非常少用的文字符号。</p>
<p>词条：GB2312<br />
字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码，为了处理汉字，程序员设计了用于简体中文的GB2312和用于繁体中文的big5。 </p>
<p>GB2312(1980年)一共收录了7445个字符，包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7，低字节从A1-FE，占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。 </p>
<p>GB2312支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号，它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字，同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030，对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。 </p>
<p>从ASCII、GB2312、GBK到GB18030，这些编码方法是向下兼容的，即同一个字符在这些方案中总是有相同的编码，后面的标准支持更多的字符。在这些编码中，英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼，GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。 </p>
<p>有的中文Windows的缺省内码还是GBK，可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符，普通人是很难用到的，通常我们还是用GBK指代中文Windows内码。 </p>
<p>这里还有一些细节： </p>
<p>GB2312的原文还是区位码，从区位码到内码，需要在高字节和低字节上分别加上A0。 </p>
<p>在DBCS中，GB内码的存储格式始终是big endian，即高位在前。 </p>
<p>GB2312的两个字节的最高位都是1。但符合这个条件的码位只有128*128=16384个。所以GBK和GB18030的低字节最高位都可能不是1。不过这不影响DBCS字符流的解析：在读取DBCS字符流时，只要遇到高位为1的字节，就可以将下两个字节作为一个双字节编码，而不用管低字节的高位是什么。 </p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/bacoo/aggbug/222804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2008-08-18 16:14 <a href="http://www.blogjava.net/bacoo/archive/2008/08/18/222804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库笔记</title><link>http://www.blogjava.net/bacoo/archive/2008/04/12/192384.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Sat, 12 Apr 2008 04:05:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2008/04/12/192384.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/192384.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2008/04/12/192384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/192384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/192384.html</trackback:ping><description><![CDATA[<p>数据模型表示实体类型和实体间联系的模型，分为层级模型、网状模型、关系模型、面向对象模型。</p>
<p>关系名（也就是表名）和关系的属性集放在一块称为关系的模式。例如：Student(Xuehao,Name,Sex,Age,Dept)</p>
<p>完整性约束主要有三类：<br />
1。实体完整性约束：主键不能为空值<br />
2。参照完整性约束：外键要么为空值要么为一个确已存在的主键值<br />
3。用户定义的完整性约束：键的取值要符合一定的实际意义</p>
<p>DML语句包括（SELECT、INSERT、DELETE和UPDATE）； <br />
DDL语句包括（CREATE,DROP,ALTER）； <br />
DCL语句包括（GRANT,REVOKE）。 </p>
<p>SQL常用数据类型：<br />
INTEGER<br />
NUMERIC/DECIMAL<br />
NUMERIC(N,M)/DECIMAL(N,M)<br />
CHAR(N)<br />
VARCHAR(N)<br />
BOOLEAN<br />
DATA<br />
TIME</p>
<p>逻辑运算符：<br />
AND OR NOT</p>
<p>比较运算符：<br />
&lt;&gt;不等于<br />
!&gt;不大于<br />
!&lt;不小于</p>
<p>SQL函数有：<br />
聚合函数：AVG(),COUNT(),MAX(),MIN(),SUM()<br />
算数函数：ABS,COS,SIGN,POWER<br />
字符串函数：LEFT,LENGTH,LOWER,RIGHT,SUBSTR,UPPER<br />
时间日期函数：CURDATE,CURTIME,HOUR,MINUTE,MONTH,YEAR,WEEK,SECOND</p>
<p>《DCT》<br />
CREATE TABLE Student<br />
{<br />
&nbsp;Xuehao CHAR(7) PRIMARY KEY,<br />
&nbsp;Name CHAR(8) NOT NULL,<br />
&nbsp;Sex CHAR(2),<br />
&nbsp;Age SMALLINT,<br />
&nbsp;Dept CHAR(10) DEFAULT '计算机'<br />
};<br />
ALTER TABLE Student ADD Address CHAR(30);<br />
ALTER TABLE Student MODIFY Address CHAR(40);<br />
ALTER TABLE Student DROP Address CASCADE;<br />
DROP TABLE Student CASCADE;</p>
<p>《DML》<br />
SELECT [DISTINCT|ALL] select_expression<br />
[INTO table_name]<br />
FROM table_list<br />
[WHERE where_conditions]<br />
[GROUP BY　col_name1,col_name2,...]<br />
[HAVING where_conditions]<br />
[ORDER BY col_name1 [ASC|DESC],col_name2 [ASC|DESC],...]<br />
说明：HAVING必须在有GROUP存在时才能使用，HAVING就是筛选组的筛选器，和WHERE一样，只不过WHERE是筛选记录的。</p>
<p>INSERT INTO table_name[(attribute_list)]<br />
&nbsp;VALUES(value1,value2,...) |<br />
&nbsp;SELECT 查询语句 |<br />
&nbsp;TABLE table_name_another<br />
这里要插入的数据可以有三种方法来插入。</p>
<p>UPDATE table_name<br />
SET (column1={expression|DEFAULT|NULL}) [column2=...]<br />
WHERE where_conditions<br />
DELETE FROM table_name<br />
WHERE where_conditions</p>
<p>JDBC编程<br />
1。加载驱动Class.forName("...");<br />
2。用DriverManager.getConnection得到一个Connection对象conn;<br />
3。用conn.createStatement()得到一个Statement对象stmt;<br />
4。用stmt.executeQuery得到一个ResultSet对象rs;<br />
5。</p>
<img src ="http://www.blogjava.net/bacoo/aggbug/192384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2008-04-12 12:05 <a href="http://www.blogjava.net/bacoo/archive/2008/04/12/192384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript学习笔记</title><link>http://www.blogjava.net/bacoo/archive/2008/04/12/192382.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Sat, 12 Apr 2008 04:04:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2008/04/12/192382.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/192382.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2008/04/12/192382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/192382.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/192382.html</trackback:ping><description><![CDATA[<p>JavaScript是一种脚本语言，解释执行，由Netscape开发的，前身为LiveScript，与平台无关，只要浏览器支持JavaScript即可，甚至可以不需要经过Web服务器程序就可以直接对用户的输入做出响应，对大小写敏感；而HTML语言对大小写不敏感。<br />
在一行语句的后面不加分号也可以。</p>
<p>Window是顶层对象，在调用Window对象的方法时，可以不显式的调用Window对象。</p>
<p>既然是脚本，那么就表示其不能够直接独立运行，需要被嵌入到某个东西中去运行。</p>
<p>JavaScript语言中用/*...*/进行注释，可以跨行；//可用于单行注释。</p>
<p>可以把JavaScript脚本放入到一个单独的文件中，后缀名为js，然后在需要引用的时候&lt;script type="text/javascript" src="my.js"&gt;</p>
<p>javascript定义的变量名是大小写敏感的，而关键字是大小写不敏感的。</p>
<p>通常都用var来定义变量。</p>
<p>===表示全相等，只有当变量的数值相等并且类型也一致才会取等号。</p>
<p>window.prompt用来弹出提示用户输入信息的对话框。</p>
<p>定义个数组变量用var a=new Array(3);</p>
<p>对于for-in循环，用法示例：for(var s in a)document.write("&lt;li&gt;"+a[s]+"&lt;/li&gt;");</p>
<p>JavaScript中数组的元素数目可变，即可以超过数组的容量。</p>
<p>function可以不声明返回值和返回类型。例如：<br />
function max(a,b)<br />
{<br />
&nbsp;return a&gt;=b ? a : b ;<br />
}</p>
<p>常用事件类型：<br />
onClick;onDbclick;onLoad;onUnload;onChange;onMousemove;onFocus;onBlur。</p>
<p>form表单中用&lt;input type="..."&gt;来放置一个组件，其实我们也可以把这种通常只放在表单中的组件拿出来放到&lt;body&gt;中的任何位置。例如&lt;input type="button" onClick="myClick()"&gt;</p>
<p>event是浏览器对象window的一个属性，由于是window的，因此可以省略window，而直接用event，比如鼠标坐标用event.x和event.y。</p>
<p>用name来标记一个元素，通常是为了在将来访问它的值，包含的信息；用id来标记一个元素，相当于一个元素的编号，是为了将来寻找并操作这个元素，比如要修改样式表style显示样式中的left和top的值。</p>
<p>window.setInterval("showTime()",1000);</p>
<p>浏览器对象：<br />
window<br />
&nbsp;navigator<br />
&nbsp;location<br />
&nbsp;document<br />
&nbsp;&nbsp;links<br />
&nbsp;&nbsp;anchors<br />
&nbsp;&nbsp;forms<br />
&nbsp;&nbsp;&nbsp;form<br />
&nbsp;&nbsp;&nbsp;elements<br />
&nbsp;&nbsp;images<br />
&nbsp;history<br />
&nbsp;event&nbsp;<br />
window对象常用方法：<br />
alert;<br />
open("ad.html","myAdWindow","toolbar=no,menubar=no,left=200,top=200,width=250,height=250");<br />
close;<br />
prompt;<br />
confirm;<br />
setInterval;<br />
clearInterval;</p>
<p>location常用方法：<br />
reload();刷新页面<br />
location="http://www.baidu.com";页面跳转到其他页面</p>
<p>history对象的主要方法：<br />
go(index);前进或者后退index个页面<br />
back;后退一个页面<br />
forward;前进一个页面</p>
<p>navigator对象的常用属性：<br />
appName<br />
appVersion<br />
systemLanguage<br />
userLanguage <br />
platform</p>
<img src ="http://www.blogjava.net/bacoo/aggbug/192382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2008-04-12 12:04 <a href="http://www.blogjava.net/bacoo/archive/2008/04/12/192382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML学习笔记</title><link>http://www.blogjava.net/bacoo/archive/2008/04/12/192381.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Sat, 12 Apr 2008 04:03:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2008/04/12/192381.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/192381.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2008/04/12/192381.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/192381.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/192381.html</trackback:ping><description><![CDATA[<p>一般而言，大体结构是：<br />
&lt;html&gt;</p>
<p>&lt;head&gt;<br />
&nbsp;&lt;title&gt;...&lt;/title&gt;<br />
&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;<br />
===========================================================<br />
对于字体而言，设置字体的方式如下：<br />
&lt;标记&gt;文字部分&lt;/标记&gt;<br />
常用的标记主要分为设置字体和设置文字形态两类：<br />
字体用：&lt;font face="" size="" color=""&gt;...&lt;/font&gt;<br />
形态常用的有：<br />
&lt;b&gt;加粗<br />
&lt;i&gt;斜体<br />
&lt;u&gt;下划线<br />
&lt;s&gt;删除线<br />
&lt;em&gt;倾斜线<br />
&lt;strong&gt;加粗<br />
&lt;big&gt;<br />
&lt;small&gt;<br />
此外，对于文字部分，html语法还定义了6种标题来区分字体的大小：<br />
&lt;h1&gt;,&lt;h2&gt;,...,&lt;h6&gt;；其中&lt;h1&gt;表示的字体最大。<br />
============================================================<br />
文字版面标记：<br />
&lt;br&gt;是换行标记，且不需要配对就可以使用；<br />
&lt;nobr&gt;...&lt;/nobr&gt;是不换行标记，即便窗口不够显示出全部这一行中的问题，文字也不会折断到下一行去显示。也就是说不会自动换行。</p>
<p>对于文字来讲，要指定对齐方式时，格式为：&lt;center|left|right&gt;...&lt;/center|/left|/right&gt;；而对于段落来讲，应该这样：&lt;p align="right"&gt;...&lt;/p&gt;<br />
==================================<br />
&lt;table&gt;表格标记<br />
&lt;th&gt;表头标记<br />
&lt;tr&gt;行标记<br />
&lt;td&gt;单元格标记<br />
表格用来格式化页面时，通常将其属性border、cellpadding、cellspacing都设置为0。</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/bacoo/aggbug/192381.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2008-04-12 12:03 <a href="http://www.blogjava.net/bacoo/archive/2008/04/12/192381.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不堪回首的2007</title><link>http://www.blogjava.net/bacoo/archive/2007/12/31/171917.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Mon, 31 Dec 2007 14:09:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2007/12/31/171917.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/171917.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2007/12/31/171917.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/171917.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/171917.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我申请过很多空间或者博客之类的东西，光邮箱就有将近10个。但是却从来不来这些地方写自己的心情，尤其是QQ空间，更是从来不去那里写心情。其实自己的心情一直都不好，一直都想倾诉，但是却不是用文字来倾诉，很想找到对的人，能倾诉衷肠，但又苦于在情感的问题上苦苦挣扎，却依然看不到希望，依然无法释然自己汹涌的情感。今天是2007年的最后一天，其实有很多心里话想说出来，但是环顾四周，还真不知道该说给谁听，这一年我个人觉得值得纪念，值得回首，而且又是我的本命年，都说本命年最难熬，会很多舛，现在看来好像还真的是这个样子，因此我就来我的博客里写下这些文字吧，反正除了我之外，我还没告诉第二个人这个博客呢，呵呵。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果说2006年痛苦，那么至少2006年的前半年还是快乐还是幸福的；但是2007年，却全部写满了伤和痛。从小到大，一路都很顺利，虽然我生在一个并不富裕的家庭，但是却沿着学习这条道路一路走来，比较一帆风顺。在2006年，我经历了感情的波折，几近死亡般的痛苦，我也挺了过来，在2006年的10月，我遇到了她，一个让我无法用言语来说清楚我们关系的她，一个让我明白了很多道理的她，一个让我永远都无法释怀的她，回首这整整一年和她的相处，虽然我们身在两地，相处的时间一共加起来也凑不够一周，见面的时间加起来也凑不够三整天，但是身处异地的我，却献出百分之二百的热情和努力、用心，在第一次感情的惨痛失败的我，还没来得及从失败的痛苦中走出来，心还在淌血的时候，却纠集起内心深处的最后一点余热，来温暖她，来奉献，来给与。在2007年年初，我跟老师申请提前回家，为了赶着去北京看望她和她的父亲，在医院看到了她的爸爸妈妈，这是我第一次见到她的父母，当时挺紧张的，第三天她的爸爸要回家护理了，然后又过了两天，我和她一起坐火车回家，或许这就是我记忆里我们最快乐的一次相遇了吧。她在家没呆几天，又得回京上班了。我一直等待我们的再次相逢，在情人节的前一天，我乘半夜的火车赶到了北京，为了在情人节那天为她送上鲜花和礼物，好辛苦好辛苦，不过不负苦心人，在很多周折之后，上天还是幸运的安排了我们的相遇，短短十几分钟的吃饭，然后我就被送上了回家的返程，虽然很短暂，但足以让我感觉很欣慰很满足。终于等到了她过年放假回家了，她虽然回了家，我们却依然无法相见，在年初四的时候，她来我家看望了我的父母，短暂的停留，然后就匆匆离别，我送她，却得知了我们无法延续我们爱情的噩耗，她的家里反对，就因为我的家庭条件不够好，我当时好失望，好难过，其实我这个人自尊心太强太强，像这种被鄙视还真是无法接受，虽然我没有在她面前表现出来，或许她现在也不知道我真实的内心感受，但是我真的很受不了，不过我还是忍了。唉，不说这么详细了，还是简单的描述一下我们这一年走过的历程就好了，呵呵。自从初四见面之后，就再也没有见面，直到我要返校时，路过北京，她去车站接我，我们才又得以匆匆的有一个下午的相处时间，那时她的家里要给她介绍北京的干部子弟，当时我越发的感觉我无法忍受了，看来我们生来就被视为不平等的。但是我也知道她很为难和痛苦，我临别时告诉她&#8220;没关系，你可以选择那个干部子弟，不过我给你留退路，我会等你！&#8221;带着伤感带着心痛我回到了学校，在学校的这一个学期，我几乎每天都心烦，每天都感觉很痛苦，却依然装着若无其事的和她发信息，和她相处，那个学期，几乎最重要的事情就是每天都帮助她查阅有关癌症的各种资料，帮助她的爸爸治疗，听她说她的爸爸还为此感动得掉下眼泪，我当时听到这话，很欣慰，但欣慰的同时也很为自己这种傻傻的做法看不起自己，难道为了她我就可以违背所有的原则和立场？但是我的心告诉我，我不得不这么做，我放不下她。总觉得她很苦，总觉得她过得很艰难，却从来不在乎自己有多累有多痛苦，留给她的始终是小内容，留给自己的始终是伤痛。终于熬到这个学期结束了，然后又请假早回家，因为她的父亲刚刚去世，我得回去安慰安慰她和她的母亲。暑假我一共回家半个月左右，中心和主题依然是她，似乎她接受了我，但是我们之间这种说不清楚的关系不知道还要撑到什么时候，她依然在别人面前不敢说我是她的男朋友，我也依然不能在别人面前说自己有女朋友。知道她因为父亲的离去很痛心很难过，所以我忍了，我依然满怀热忱去温暖我们之间的这份感情，我可以傻傻的不知缘由的打车到她家门口送花给她，也可以在北京那种人生地不熟的地方，搞到鲜花送给她，给她惊喜，估计到现在她肯定也不知道那些鲜花是从哪里来的，不过估计她也不会在乎这些小问题。在北京的那几天里，竟然在最后的时候，我们发生了矛盾，我被她的不重视和不关心给伤了，随着我一次愤愤的离去，我们的本来也算不上已经建立起来的感情迅速瓦解，在西三旗人流穿梭的街道旁，我蹲在路边抽了一支又一支烟，回到同学家，关上门喝了一瓶又一瓶酒，在痛苦中我又收到了她的信息，我们又见面了，这也或许是我们的最后一面了，在她告诉我们不合适之后，我不得不选择放弃和离开，但是我却是多么的不舍和留恋，为什么在她最痛苦嘴无助的时候却不需要我来安慰和关心，我感觉我做的一切都是那样的徒劳，她根本就没有用心去体会。带着无尽的伤感我又一次踏上了回学校列车，开始了我07年下半个学期的生活，日子依然那样痛苦，每天都很痛，依然每天都想着她的多么不容易，并依然无视自己每天是多么的难受，她依然很坚强，依然不需要我的安慰和关怀，我也为了她而留守，错失了一次又一次与女生结缘的机会，我为了一个没有终点和结果的她而留守，我依然很关心她，她也应该知道我过得不开心，每次她问我心情如何的时候，我就很难过，不和她说还好点，一和她说，她就比我还心痛，她就会感觉到一种刻骨铭心的歉疚，觉得亏欠我的太多太多，然后她就几近崩溃的边缘，我几次痛苦得不能再坚持，和她说放手，却被她几天后的一个短信就把建立起来的所有防护措施立即瓦解掉，因为我看不得她心痛和难过，虽然她不需要我，但是她会难过，那么我就得关心她，我就要继续为她留守，一次又一次的分分合合，我真的不知道她是否体会出来我对于她的意义，或许一直都是我自作多情，哎，实在说不清楚我和她之间到底是怎么一回事情，我，一个天才的我，拥有一般人无法比的大脑，就偏偏无法把这家事情分析清楚，甚至连一点头绪都理不出来。我只能感觉到痛苦和伤心，她也知道她对我不够好，但是依然不会去关心我，看来我真的对于她不够重要，或许在她的生命中已经没有重要的人了，这个月的中旬，具体日子我记不起来了，我终于鼓起了所有的勇气，向她寻求一个结果，我终于忍受不下去了，得到的回复是一定的，依然没给我任何希望，这一次，我终于坚定了立场，终于决定要彻底放弃，因为我已近把话说得很明白了，我一再问她是否害怕失去我，但是她依然不觉得我重要，我真的觉得自己没必要再这样折磨自己下去了，真的没必要再死撑下去了，干嘛要把自己往绝路上逼呢，我放弃，我退出，我彻底的退出，再心痛也要退出，再舍不得也要退出，就是今后出家也不能再继续下去了，我已经把自己的心搞得千疮百孔了，自己已经过了一年非人的生活了，这一年的心路历程太过于艰难，太过于坎坷了，这就是我的本名年，其实写到这里，好似写下了我们之间的所有事情，但是真的就像是流水帐一样，毫无逻辑和头绪，就是这么顺着时间的推移来写，好散乱，其间也没加些抒情的渲染，但是我也没办法，这段不堪回首的感情经历实在承载了太多的艰辛和苦涩，对于我来说，我已经被苦涩和痛苦浸透了，根本无法清楚的说清楚一切，我只是想把这些琐事罗列出来，或许若干年之后，我还能回到这里继续温习一下这段经历，这些发生在我本名年的事情，好痛苦好痛苦的事情。哎，不再说什么感情的事情了，就是再写三天三夜也写不完，写本小说都可以了。还是说些让自己欣慰的事情吧，来看看自己在这一年的收获和成长，虽然我这一年一直都很痛苦，没有一刻真的开心过，但是我不得不承认自己还是有不少收获的，毕竟我这个人不能闲下来，不能接受平庸，我知道自己，很要强的个性，很不屈服的个性永远也不会让自己堕落到被别人瞧不起。这么些年学习的历程就足以让自己引以为傲了，从不愿步别人的后尘，只愿意活在浪尖上的我，带着苦涩的心情真的在亦步亦趋的追逐着自己的梦想和理想，一刻都没停歇过。上个学期我考过了软件设计师资格考试，这个学期学习了驾驶执照，这只是主要的两件事情，在这一年中，我考过DSP全系第一，虽然在别人眼里看来很不值得一提，但是我却足以自豪，毕竟是第一，又让我重温了一下本科时代的辉煌。我学习了Java、Linux、SQL Server、Oracle、C#、.NET、JSP等乱七八糟的知识，现在还要准备考SUN的SCJP认证，我练习了自己的英语口语，现在也能说一些了，虽然和英语好的人来说还有距离，但是我会努力，为了今后能找个好工作，我真的是在亦步亦趋的努力着，还是那句话，我很要强，天行健，君子以自强不息！生当作人杰，死亦为鬼雄！我知道我背后的这些苦涩和泪水，无人能知道，无人能理解，但纵然无人来关心我、温暖我，我依然会不懈的努力奋斗下去的，为了我含辛茹苦的父母，我要勇敢的奋斗下去，我要让他们为我感到骄傲和自豪！<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其实该总结的该说的又何止这些，有很多很多东西可以说，但是太多了，真的是太多了，没必要方方面面，没必要面面俱到，人生本来就是不完整、不完美的，那就不要奢求什么了，给自己一个Big Smile，左手温暖右手！<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后，还是用一首《壮志在我胸》来慰藉一下自己：<br />
</p>
<p>拍拍身上的灰尘振作疲惫的精神<br />
远方也许尽是坎坷路也许要孤孤单单走一程<br />
早就习惯一个人少人关心少人问<br />
就算无人为我付青春至上我还保留一份真<br />
拍拍身上的灰尘振作疲惫的精神<br />
远方也许尽是坎坷路也许要孤孤单单走一程<br />
莫笑我是多情种莫以成败论英雄<br />
人的遭遇本不同但有豪情壮志在我胸<br />
嘿呦嘿嘿嘿呦嘿管哪山高水又深<br />
嘿呦嘿嘿嘿呦嘿也不能阻挡我奔前程<br />
嘿呦嘿嘿嘿呦嘿茫茫未知的旅程我要认真面对我的人生<br />
拍拍身上的灰尘振作疲惫的精神<br />
远方也许尽是坎坷路也许要孤孤单单走一程<br />
莫笑我是多情种莫以成败论英雄<br />
人的遭遇本不同但有豪情壮志在我胸<br />
嘿呦嘿嘿嘿呦嘿管哪山高水又深<br />
嘿呦嘿嘿嘿呦嘿也不能阻挡我奔前程<br />
嘿呦嘿嘿嘿呦嘿茫茫未知的旅程我要认真面对我的人生<br />
</p>
<img src ="http://www.blogjava.net/bacoo/aggbug/171917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2007-12-31 22:09 <a href="http://www.blogjava.net/bacoo/archive/2007/12/31/171917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[改编]VB基本语法学习</title><link>http://www.blogjava.net/bacoo/archive/2007/12/30/171648.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Sat, 29 Dec 2007 16:22:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2007/12/30/171648.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/171648.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2007/12/30/171648.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/171648.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/171648.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1 常量与变量1.1 VB的数据类型数据类型是数据的表示和存储形式。VB定义的基本数据类型如表5-1所示。表5-1&nbsp; VB的基本数据类型                                    数据类型                                    类型描述                     ...&nbsp;&nbsp;<a href='http://www.blogjava.net/bacoo/archive/2007/12/30/171648.html'>阅读全文</a><img src ="http://www.blogjava.net/bacoo/aggbug/171648.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2007-12-30 00:22 <a href="http://www.blogjava.net/bacoo/archive/2007/12/30/171648.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UML 基础: 类图</title><link>http://www.blogjava.net/bacoo/archive/2007/12/20/169195.html</link><dc:creator>so true</dc:creator><author>so true</author><pubDate>Thu, 20 Dec 2007 15:52:00 GMT</pubDate><guid>http://www.blogjava.net/bacoo/archive/2007/12/20/169195.html</guid><wfw:comment>http://www.blogjava.net/bacoo/comments/169195.html</wfw:comment><comments>http://www.blogjava.net/bacoo/archive/2007/12/20/169195.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bacoo/comments/commentRss/169195.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bacoo/services/trackbacks/169195.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: UML 基础: 类图            关于UML 2中结构图的介绍                                                                                                                                      ...&nbsp;&nbsp;<a href='http://www.blogjava.net/bacoo/archive/2007/12/20/169195.html'>阅读全文</a><img src ="http://www.blogjava.net/bacoo/aggbug/169195.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bacoo/" target="_blank">so true</a> 2007-12-20 23:52 <a href="http://www.blogjava.net/bacoo/archive/2007/12/20/169195.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>