﻿<?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-持之以恒-文章分类-other</title><link>http://www.blogjava.net/baizhihui19870626/category/51213.html</link><description>记录本</description><language>zh-cn</language><lastBuildDate>Sat, 10 Nov 2012 03:58:40 GMT</lastBuildDate><pubDate>Sat, 10 Nov 2012 03:58:40 GMT</pubDate><ttl>60</ttl><item><title>excel单元格拆分（原创）</title><link>http://www.blogjava.net/baizhihui19870626/articles/390800.html</link><dc:creator>小白19870626</dc:creator><author>小白19870626</author><pubDate>Mon, 05 Nov 2012 04:02:00 GMT</pubDate><guid>http://www.blogjava.net/baizhihui19870626/articles/390800.html</guid><wfw:comment>http://www.blogjava.net/baizhihui19870626/comments/390800.html</wfw:comment><comments>http://www.blogjava.net/baizhihui19870626/articles/390800.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/baizhihui19870626/comments/commentRss/390800.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/baizhihui19870626/services/trackbacks/390800.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/baizhihui19870626/1.jpg" width="316" longdesc="" height="180" /><br />如图：将单元格1右边的单元格拆分成两个或更多，请按照如下步骤操作。<br />1、插入一行<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/baizhihui19870626/2.jpg" width="392" longdesc="" height="221" /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/baizhihui19870626/3.jpg" width="329" longdesc="" height="144" /><br />2、将单元格1和下面的单元格进行合并<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/baizhihui19870626/4.jpg" width="635" longdesc="" height="193" /><br /><br /><br />效果：<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/baizhihui19870626/5.jpg" width="338" longdesc="" height="167" /><br /><img src ="http://www.blogjava.net/baizhihui19870626/aggbug/390800.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/baizhihui19870626/" target="_blank">小白19870626</a> 2012-11-05 12:02 <a href="http://www.blogjava.net/baizhihui19870626/articles/390800.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CMPP和SMPP协议比较</title><link>http://www.blogjava.net/baizhihui19870626/articles/388433.html</link><dc:creator>小白19870626</dc:creator><author>小白19870626</author><pubDate>Mon, 24 Sep 2012 06:28:00 GMT</pubDate><guid>http://www.blogjava.net/baizhihui19870626/articles/388433.html</guid><wfw:comment>http://www.blogjava.net/baizhihui19870626/comments/388433.html</wfw:comment><comments>http://www.blogjava.net/baizhihui19870626/articles/388433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/baizhihui19870626/comments/commentRss/388433.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/baizhihui19870626/services/trackbacks/388433.html</trackback:ping><description><![CDATA[<h1><span lang="EN-US">CMPP</span><span style="font-family: 宋体">和</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">协议比较</span></h1>
<p class="MsoNormal"><span lang="EN-US"><O:P></O:P></span></p>
<h2><span style="font-family: 黑体">并非同类型协议</span><span style="line-height: 173%; font-size: 22pt" lang="EN-US"><O:P></O:P></span></h2>
<p class="MsoNormal"><span lang="EN-US">CMPP</span><span style="font-family: 宋体">和</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">都是短信协议中的一种，但它们不是同一类型的协议。</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">和</span><span lang="EN-US">ESME</span><span style="font-family: 宋体">和</span><span lang="EN-US">SMC</span><span style="font-family: 宋体">（短信中心）之间的协议，而</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">是</span><span lang="EN-US">SP</span><span style="font-family: 宋体">和中国移动</span><span lang="EN-US">ISMG</span><span style="font-family: 宋体">之间的通讯协议。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">以下是</span><span lang="EN-US">CMPP 3.0</span><span style="font-family: 宋体">文档中的图示。</span></p>
<p class="MsoNormal"><span lang="EN-US"><V:SHAPETYPE id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><V:STROKE joinstyle="miter"></V:STROKE><V:FORMULAS><V:F eqn="if lineDrawn pixelLineWidth 0"></V:F><V:F eqn="sum @0 1 0"></V:F><V:F eqn="sum 0 0 @1"></V:F><V:F eqn="prod @2 1 2"></V:F><V:F eqn="prod @3 21600 pixelWidth"></V:F><V:F eqn="prod @3 21600 pixelHeight"></V:F><V:F eqn="sum @0 0 1"></V:F><V:F eqn="prod @6 1 2"></V:F><V:F eqn="prod @7 21600 pixelWidth"></V:F><V:F eqn="sum @8 21600 0"></V:F><V:F eqn="prod @7 21600 pixelHeight"></V:F><V:F eqn="sum @10 21600 0"></V:F></V:FORMULAS><V:PATH o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></V:PATH><O:LOCK v:ext="edit" aspectratio="t"></O:LOCK></V:SHAPETYPE><V:SHAPE style="width: 358.5pt; height: 256.5pt" id="_x0000_i1026" type="#_x0000_t75"><V:IMAGEDATA src="file:///C:\DOCUME~1\温少\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></V:IMAGEDATA></V:SHAPE>&lt;!--[if !vml]--&gt;<img border="0" alt="cmpp_001.JPG" src="http://images.cnblogs.com/cnblogs_com/jobs/cmpp_001.JPG" width="478" height="342" /><br />&lt;!--[endif]--&gt;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">与</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">对应的协议有，联通的</span><span lang="EN-US">SGIP</span><span style="font-family: 宋体">协议，中国电信的</span><span lang="EN-US">SMGP</span><span style="font-family: 宋体">协议，网通的</span><span lang="EN-US">CNGP</span><span style="font-family: 宋体">协议。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">作为</span><span lang="EN-US">SP</span><span style="font-family: 宋体">，只需要了解</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">，不需要了解</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">。</span></p>
<h2><span style="font-family: 黑体">最新版本和兼容</span></h2>
<p class="MsoNormal"><span lang="EN-US">SMPP</span><span style="font-family: 宋体">协议是一个国际标准，有</span><span lang="EN-US">SMS</span><span style="font-family: 宋体">论坛制定，官方网址为</span><span lang="EN-US">smsforum.net</span><span style="font-family: 宋体">，截至</span><ST1:CHSDATE isrocdate="False" islunardate="False" day="2" month="7" year="2006" w:st="on"><span lang="EN-US">2006</span><span style="font-family: 宋体">年</span><span lang="EN-US">7</span><span style="font-family: 宋体">月</span><span lang="EN-US">2</span><span style="font-family: 宋体">日</span></ST1:CHSDATE><span style="font-family: 宋体">，最新版本是</span><span lang="EN-US">5.0</span><span style="font-family: 宋体">。曾经流行的版本是</span><span lang="EN-US">3.3</span><span style="font-family: 宋体">、</span><span lang="EN-US">3.4</span><span style="font-family: 宋体">。</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">协议向后兼容的。</span></p>
<p class="MsoNormal"><span lang="EN-US">CMPP</span><span style="font-family: 宋体">最新版本似乎是</span><span lang="EN-US">3.0</span><span style="font-family: 宋体">。现在（</span><span lang="EN-US">2006</span><span style="font-family: 宋体">年</span><span lang="EN-US">7</span><span style="font-family: 宋体">月），大多数还是使用</span><span lang="EN-US">CMPP 2.0</span><span style="font-family: 宋体">。</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">协议没有做到向后兼容，</span><span lang="EN-US">3.0</span><span style="font-family: 宋体">的文档本身也没有讲到兼容的问题，甚至认为，协议制定者压根没想过要兼容。</span><span lang="EN-US">CMPP 3.0</span><span style="font-family: 宋体">没做到向后兼容导致了一个问题，就是</span><span lang="EN-US">SP</span><span style="font-family: 宋体">无法平滑升级。</span></p>
<h2><span lang="EN-US">PDU</span><span style="font-family: 黑体">格式</span></h2>
<p class="MsoNormal"><span lang="EN-US">PDU</span><span style="font-family: 宋体">是协议数据单元的缩写，</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">和</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">都使用最先一个</span><span lang="EN-US">4</span><span style="font-family: 宋体">位的长度标志整个</span><span lang="EN-US">PDU</span><span style="font-family: 宋体">的长度。</span></p>
<p class="MsoNormal"><span lang="EN-US"><V:GROUP style="width: 315.8pt; height: 195.8pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" id="_x0000_s1026" coordsize="6316,3916" editas="canvas" coordorigin="3232,4214"><O:LOCK v:ext="edit" aspectratio="t"></O:LOCK><V:SHAPE style="position: absolute" id="_x0000_s1027" o:preferrelative="f" type="#_x0000_t75"><V:FILL o:detectmouseclick="t"></V:FILL><V:PATH o:extrusionok="t" o:connecttype="none"></V:PATH><O:LOCK v:ext="edit" text="t"></O:LOCK></V:SHAPE><V:GROUP style="position: absolute" id="_x0000_s1028" coordsize="2340,3900" coordorigin="4500,4066"><V:RECT style="position: absolute" id="_x0000_s1029"><V:TEXTBOX>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p class="MsoNormal"><span lang="EN-US">SMPP Packet</span></p>
<p class="MsoNormal"><span lang="EN-US"><O:P></O:P></span></p></div></td></tr></tbody></table></V:TEXTBOX></V:RECT><V:GROUP style="position: absolute" id="_x0000_s1030" coordsize="1980,3276" coordorigin="2700,4534"><V:RECT style="position: absolute" id="_x0000_s1031"><V:TEXTBOX>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">消息头</span></p></div></td></tr></tbody></table></V:TEXTBOX></V:RECT><V:RECT style="position: absolute" id="_x0000_s1032"><V:TEXTBOX>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">必填参数</span></p></div></td></tr></tbody></table></V:TEXTBOX></V:RECT><V:RECT style="position: absolute" id="_x0000_s1033"><V:TEXTBOX>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可选参数</span></p></div></td></tr></tbody></table></V:TEXTBOX></V:RECT></V:GROUP></V:GROUP><V:GROUP style="position: absolute" id="_x0000_s1034" coordsize="2340,3900" coordorigin="7200,4066"><V:RECT style="position: absolute" id="_x0000_s1035"><V:TEXTBOX>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p class="MsoNormal"><span lang="EN-US">CMPP Packet</span></p>
<p class="MsoNormal"><span lang="EN-US"><O:P></O:P></span></p></div></td></tr></tbody></table></V:TEXTBOX></V:RECT><V:RECT style="position: absolute" id="_x0000_s1036"><V:TEXTBOX>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">消息头</span></p></div></td></tr></tbody></table></V:TEXTBOX></V:RECT><V:RECT style="position: absolute" id="_x0000_s1037"><V:TEXTBOX>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<div>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">消息体</span></p></div></td></tr></tbody></table></V:TEXTBOX></V:RECT></V:GROUP><W:WRAP type="none"></W:WRAP><W:ANCHORLOCK></W:ANCHORLOCK></V:GROUP>&lt;!--[if !vml]--&gt;<img border="0" alt="cmpp_002.JPG" src="http://images.cnblogs.com/cnblogs_com/jobs/cmpp_002.JPG" width="386" height="244" /><br />&lt;!--[endif]--&gt;</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">SMPP</span><span style="font-family: 宋体">是一个国际标准，不同的</span><span lang="EN-US">SMC</span><span style="font-family: 宋体">的是实现可能要增加特定参数，为了具备更好的扩展性，</span><span lang="EN-US">SMPP 3.4</span><span style="font-family: 宋体">以上版本，增加了可选参数，在</span><span lang="EN-US">5.0</span><span style="font-family: 宋体">中，可选参数叫做</span><span lang="EN-US">TLVTable</span><span style="font-family: 宋体">。</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">CMPP</span><span style="font-family: 宋体">是中国移动定义的其内部</span><span lang="EN-US">ISMG</span><span style="font-family: 宋体">之间、</span><span lang="EN-US">ISMG</span><span style="font-family: 宋体">与</span><span lang="EN-US">SP</span><span style="font-family: 宋体">之间的通讯标准，涉及一些具体的计费信息，但没有可选参数。</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-family: 宋体">在</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">中，消息头包括</span><span lang="EN-US">4</span><span style="font-family: 宋体">部分：</span><span lang="EN-US">PDU</span><span style="font-family: 宋体">长度、</span><span lang="EN-US">Command_Id</span><span style="font-family: 宋体">、</span><span lang="EN-US">Command_Status</span><span style="font-family: 宋体">、</span><span lang="EN-US">Sequence_Id</span><span style="font-family: 宋体">。其中</span><span lang="EN-US">Command_Status</span><span style="font-family: 宋体">字段，只在回应消息中使用，存在冗余。</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">CMPP</span><span style="font-family: 宋体">中，消息头部包括</span><span lang="EN-US">3</span><span style="font-family: 宋体">部分：</span><span lang="EN-US">PDU</span><span style="font-family: 宋体">长度、</span><span lang="EN-US">Command_Id</span><span style="font-family: 宋体">、</span><span lang="EN-US">Sequence_Id</span><span style="font-family: 宋体">。个人认为，</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">中的消息头，不包括</span><span lang="EN-US">Command_Status</span><span style="font-family: 宋体">，似乎更好一些。</span></p>
<h2><span style="font-family: 黑体">消息传输模式</span></h2>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">SMPP</span><span style="font-family: 宋体">和</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">都支持异步传输，</span><span lang="EN-US">CMPP</span><span style="font-family: 宋体">中，建议异步传输的窗口大小为</span><span lang="EN-US">16</span><span style="font-family: 宋体">。</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">CMPP</span><span style="font-family: 宋体">使用一个连接发送短信息和接收短信息。</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">SMPP</span><span style="font-family: 宋体">支持多种的连接，其中</span><span lang="EN-US">TX</span><span style="font-family: 宋体">类型的连接，只能发送短信息，</span><span lang="EN-US">RX</span><span style="font-family: 宋体">类型的连接只能接收短信息，</span><span lang="EN-US">TRX</span><span style="font-family: 宋体">类型的连接支持接收和发送短信息。</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">SMPP 3.4</span><span style="font-family: 宋体">中，消息传输模式分三中：</span><span lang="EN-US">Store And Forward</span><span style="font-family: 宋体">、</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">、</span><span lang="EN-US">Forward</span><span style="font-family: 宋体">。分别用在大吞吐量、可靠性保证等不同的应用场合。</span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span lang="EN-US">CMPP</span><span style="font-family: 宋体">没有规定其消息传输的模式，根据实际使用的情况看来，华为的网关的消息传输模式类似</span><span lang="EN-US">SMPP</span><span style="font-family: 宋体">协议中规定的</span><span lang="EN-US">Datagram</span><span style="font-family: 宋体">模式。</span></p><img src ="http://www.blogjava.net/baizhihui19870626/aggbug/388433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/baizhihui19870626/" target="_blank">小白19870626</a> 2012-09-24 14:28 <a href="http://www.blogjava.net/baizhihui19870626/articles/388433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Unicode、UTF－8 和 ISO8859-1到底有什么区别</title><link>http://www.blogjava.net/baizhihui19870626/articles/381167.html</link><dc:creator>小白19870626</dc:creator><author>小白19870626</author><pubDate>Wed, 20 Jun 2012 04:44:00 GMT</pubDate><guid>http://www.blogjava.net/baizhihui19870626/articles/381167.html</guid><wfw:comment>http://www.blogjava.net/baizhihui19870626/comments/381167.html</wfw:comment><comments>http://www.blogjava.net/baizhihui19870626/articles/381167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/baizhihui19870626/comments/commentRss/381167.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/baizhihui19870626/services/trackbacks/381167.html</trackback:ping><description><![CDATA[<div id="cnblogs_post_body">
<p>转自：<a href="http://zhao860606.blog.163.com/blog/static/105838171200910233225699/">http://zhao860606.blog.163.com/blog/static/105838171200910233225699/</a></p>
<p>&nbsp;</p>
<div>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; background-color: #ffffff; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font-family: Arial, Helvetica, simsun, u5b8bu4f53; color: #333333; padding-top: 0px">Unicode、UTF－8 和 ISO8859-1到底有什么区别</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; background-color: #ffffff; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font-family: Arial, Helvetica, simsun, u5b8bu4f53; color: #333333; padding-top: 0px">1.本文主要包括以下几个方面：编码基本知识，java，系统软件，url，工具软件等。 <br /><br />在下面的描述中，将以"中文"两个字为例，经查表可以知道其GB2312编码是"d6d0 cec4"，Unicode编码为"4e2d 6587"，UTF编码就是"e4b8ad e69687"。注意，这两个字没有iso8859-1编码，但可以用iso8859-1编码来"表示"。 <br /><br />2. 编码基本知识 <br /><br />最早的编码是iso8859-1，和ascii编码相似。但为了方便表示各种各样的语言，逐渐出现了很多标准编码，重要的有如下几个。 <br /><br />2.1. iso8859-1 通常叫做Latin-1<br /><br />属于单字节编码，最多能表示的字符范围是0-255，应用于英文系列。比如，字母a的编码为0x61=97。 <br /><br />很明显，iso8859-1编码表示的字符范围很窄，无法表示中文字符。但是，由于是单字节编码，和计算机最基础的表示单位一致，所以很多时候，仍旧使用iso8859-1编码来表示。而且在很多协议上，默认使用该编码。比如，虽然"中文"两个字不存在iso8859-1编码，以gb2312编码为例，应该是"d6d0 cec4"两个字符，使用iso8859-1编码的时候则将它拆开为4个字节来表示："d6 d0 ce c4"（事实上，在进行存储的时候，也是以字节为单位处理的）。而如果是UTF编码，则是6个字节"e4 b8 ad e6 96 87"。很明显，这种表示方法还需要以另一种编码为基础。 <br /><br />2.2. GB2312/GBK <br /><br />这就是汉子的国标码，专门用来表示汉字，是双字节编码，而英文字母和iso8859-1一致（兼容iso8859-1编码）。其中gbk编码能够用来同时表示繁体字和简体字，而gb2312只能表示简体字，gbk是兼容gb2312编码的。 <br /><br />2.3. unicode <br /><br />这是最统一的编码，可以用来表示所有语言的字符，而且是定长双字节（也有四字节的）编码，包括英文字母在内。所以可以说它是不兼容iso8859-1编码的，也不兼容任何编码。不过，相对于iso8859-1编码来说，uniocode编码只是在前面增加了一个0字节，比如字母a为"00 61"。 <br /><br />需要说明的是，定长编码便于计算机处理（注意GB2312/GBK不是定长编码），而unicode又可以用来表示所有字符，所以在很多软件内部是使用unicode编码来处理的，比如java。 <br /><br />2.4. UTF <br /><br />考虑到unicode编码不兼容iso8859-1编码，而且容易占用更多的空间：因为对于英文字母，unicode也需要两个字节来表示。所以unicode不便于传输和存储。因此而产生了utf编码，utf编码兼容iso8859-1编码，同时也可以用来表示所有语言的字符，不过，utf编码是不定长编码，每一个字符的长度从1-6个字节不等。另外，utf编码自带简单的校验功能。一般来讲，英文字母都是用一个字节表示，而汉字使用三个字节。 <br /><br />注意，虽然说utf是为了使用更少的空间而使用的，但那只是相对于unicode编码来说，如果已经知道是汉字，则使用GB2312/GBK无疑是最节省的。不过另一方面，值得说明的是，虽然utf编码对汉字使用3个字节，但即使对于汉字网页，utf编码也会比unicode编码节省，因为网页中包含了很多的英文字符。 <br /><br />3. java对字符的处理 <br /><br />在java应用软件中，会有多处涉及到字符集编码，有些地方需要进行正确的设置，有些地方需要进行一定程度的处理。 <br /><br />3.1. getBytes(charset) <br /><br />这是java字符串处理的一个标准函数，其作用是将字符串所表示的字符按照charset编码，并以字节方式表示。注意字符串在java内存中总是按unicode编码存储的。比如"中文"，正常情况下（即没有错误的时候）存储为"4e2d 6587"，如果charset为"gbk"，则被编码为"d6d0 cec4"，然后返回字节"d6 d0 ce c4"。如果charset为"utf8"则最后是"e4 b8 ad e6 96 87"。如果是"iso8859-1"，则由于无法编码，最后返回 "3f 3f"（两个问号）。 <br /><br />3.2. new String(charset) <br /><br />这是java字符串处理的另一个标准函数，和上一个函数的作用相反，将字节数组按照charset编码进行组合识别，最后转换为unicode存储。参考上述getBytes的例子，"gbk" 和"utf8"都可以得出正确的结果"4e2d 6587"，但iso8859-1最后变成了"003f 003f"（两个问号）。 <br /><br />因为utf8可以用来表示/编码所有字符，所以new String( str.getBytes( "utf8" ), "utf8" ) === str，即完全可逆。 <br /><br />3.3. setCharacterEncoding() <br /><br />该函数用来设置http请求或者相应的编码。 <br /><br />对于request，是指提交内容的编码，指定后可以通过getParameter()则直接获得正确的字符串，如果不指定，则默认使用iso8859-1编码，需要进一步处理。参见下述"表单输入"。值得注意的是在执行setCharacterEncoding()之前，不能执行任何getParameter()。java doc上说明：This method must be called prior to reading request parameters or reading input using getReader()。而且，该指定只对POST方法有效，对GET方法无效。分析原因，应该是在执行第一个getParameter()的时候，java将会按照编码分析所有的提交内容，而后续的getParameter()不再进行分析，所以setCharacterEncoding()无效。而对于GET方法提交表单是，提交的内容在URL中，一开始就已经按照编码分析所有的提交内容，setCharacterEncoding()自然就无效。</p></div>
<p><span style="line-height: 25px; background-color: #ffffff; font-family: Arial, Helvetica, simsun, u5b8bu4f53; color: #333333" class="Apple-style-span">4.iso-8859-1是JAVA网络传输使用的标准 字符集,而gb2312是标准中文字符集,当你作出提交表单等需要网络传输的操作的时候,就需要把 iso-8859-1转换为gb2312字符集显示,否则如果按浏览器的gb2312格式来解释iso-8859-1字符集的话,由于2者不兼容,所以会 是乱码.</span> </p></div>
<div id="MySignature"></div>
<div id="blog_post_info_block">
<div id="blog_post_info">
<div id="BlogPostCategory">分类: <a href="http://www.cnblogs.com/abinxm/category/214162.html">7788</a></div></div></div><img src ="http://www.blogjava.net/baizhihui19870626/aggbug/381167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/baizhihui19870626/" target="_blank">小白19870626</a> 2012-06-20 12:44 <a href="http://www.blogjava.net/baizhihui19870626/articles/381167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WINDOWS下查看端口占用情况</title><link>http://www.blogjava.net/baizhihui19870626/articles/375247.html</link><dc:creator>小白19870626</dc:creator><author>小白19870626</author><pubDate>Thu, 19 Apr 2012 03:43:00 GMT</pubDate><guid>http://www.blogjava.net/baizhihui19870626/articles/375247.html</guid><wfw:comment>http://www.blogjava.net/baizhihui19870626/comments/375247.html</wfw:comment><comments>http://www.blogjava.net/baizhihui19870626/articles/375247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/baizhihui19870626/comments/commentRss/375247.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/baizhihui19870626/services/trackbacks/375247.html</trackback:ping><description><![CDATA[经常，我们在启动应用的时候发现系统需要的端口被别的程序占用，如何知道谁占有了我们需要的端口，很多人都比较头疼，下面就介绍一种非常简单的方法，希望对大家有用。假如我们需要确定谁占用了我们的8080端口： <br />1、在windows命令行窗口下执行： netstat -aon|findstr "8080"<br />2、端口被进程号为2016的进程占用，继续执行下面命令：tasklist|findstr "进程id"<br />如图所示，javaw.exe占用了你的8080端口。 <img src ="http://www.blogjava.net/baizhihui19870626/aggbug/375247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/baizhihui19870626/" target="_blank">小白19870626</a> 2012-04-19 11:43 <a href="http://www.blogjava.net/baizhihui19870626/articles/375247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse启动了tomcat正常，可页面还是404</title><link>http://www.blogjava.net/baizhihui19870626/articles/373442.html</link><dc:creator>小白19870626</dc:creator><author>小白19870626</author><pubDate>Fri, 06 Apr 2012 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/baizhihui19870626/articles/373442.html</guid><wfw:comment>http://www.blogjava.net/baizhihui19870626/comments/373442.html</wfw:comment><comments>http://www.blogjava.net/baizhihui19870626/articles/373442.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/baizhihui19870626/comments/commentRss/373442.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/baizhihui19870626/services/trackbacks/373442.html</trackback:ping><description><![CDATA[这两天看到Eclipse 3.7（代号Indigo） 正式版发布了，于是心想也试试看最新版有什么变动，于是就开始准备尝试下，终于在今天下载好也解压完，一切很正常，随便写了个web工程，在server中添加了个tomcat服务，将工程部署上去，启动tomcat，控制台打印出启动信息，这一切都是平常见的，启动正常。 
<p><strong><span style="color: #0055ff">tomcat log:</span></strong></p>
<p><span style="color: #ff0000">2011-6-26 13:05:23 org.apache.catalina.core.AprLifecycleListener init</span><br /><span style="color: #ff0000">信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/../jre/bin/client;D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/../jre/bin;D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/../jre/lib/i386;F:\oracle\product\10.2.0\db_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin;D:\MinGW\bin;D:\Djgpp\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0;D:\Program Files\IDM Computer Solutions\UltraEdit\;D:\Program Files\ICYPlayer\Codecs\;D:\eclipse-jee-indigo-win32\eclipse;</span><br /><span style="color: #ff0000">2011-6-26 13:05:23 org.apache.tomcat.util.digester.SetPropertiesRule begin</span><br /><span style="color: #ff0000">警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:web' did not find a matching property.</span><br /><span style="color: #ff0000">2011-6-26 13:05:24 org.apache.coyote.AbstractProtocol init</span><br /><span style="color: #ff0000">信息: Initializing ProtocolHandler ["http-bio-8080"]</span><br /><span style="color: #ff0000">2011-6-26 13:05:24 org.apache.coyote.AbstractProtocol init</span><br /><span style="color: #ff0000">信息: Initializing ProtocolHandler ["ajp-bio-8009"]</span><br /><span style="color: #ff0000">2011-6-26 13:05:24 org.apache.catalina.startup.Catalina load</span><br /><span style="color: #ff0000">信息: Initialization processed in 1273 ms</span><br /><span style="color: #ff0000">2011-6-26 13:05:24 org.apache.catalina.core.StandardService startInternal</span><br /><span style="color: #ff0000">信息: Starting service Catalina</span><br /><span style="color: #ff0000">2011-6-26 13:05:24 org.apache.catalina.core.StandardEngine startInternal</span><br /><span style="color: #ff0000">信息: Starting Servlet Engine: Apache Tomcat/7.0.16</span><br /><span style="color: #ff0000">2011-6-26 13:05:24 org.apache.catalina.util.SessionIdGenerator createSecureRandom</span><br /><span style="color: #ff0000">信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [172] milliseconds.</span><br /><span style="color: #ff0000">2011-6-26 13:05:24 org.apache.catalina.startup.HostConfig deployDirectory</span><br /><span style="color: #ff0000">信息: Deploying web application directory docs</span><br /><span style="color: #ff0000">2011-6-26 13:05:25 org.apache.catalina.startup.HostConfig deployDirectory</span><br /><span style="color: #ff0000">信息: Deploying web application directory examples</span><br /><span style="color: #ff0000">2011-6-26 13:05:25 org.apache.catalina.core.ApplicationContext log</span><br /><span style="color: #ff0000">信息: ContextListener: contextInitialized()</span><br /><span style="color: #ff0000">2011-6-26 13:05:25 org.apache.catalina.core.ApplicationContext log</span><br /><span style="color: #ff0000">信息: SessionListener: contextInitialized()</span><br /><span style="color: #ff0000">2011-6-26 13:05:25 org.apache.catalina.core.ApplicationContext log</span><br /><span style="color: #ff0000">信息: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache',</span><a><span style="color: #ff0000">'org.apache.jasper.compiler.TldLocationsCache@1867df9'</span></a><span style="color: #ff0000">)</span><br /><span style="color: #ff0000">2011-6-26 13:05:25 org.apache.catalina.startup.HostConfig deployDirectory</span><br /><span style="color: #ff0000">信息: Deploying web application directory host-manager</span><br /><span style="color: #ff0000">2011-6-26 13:05:26 org.apache.catalina.startup.HostConfig deployDirectory</span><br /><span style="color: #ff0000">信息: Deploying web application directory manager</span><br /><span style="color: #ff0000">2011-6-26 13:05:26 org.apache.catalina.startup.HostConfig deployDirectory</span><br /><span style="color: #ff0000">信息: Deploying web application directory ROOT</span><br /><span style="color: #ff0000">2011-6-26 13:05:26 org.apache.coyote.AbstractProtocol start</span><br /><span style="color: #ff0000">信息: Starting ProtocolHandler ["http-bio-8080"]</span><br /><span style="color: #ff0000">2011-6-26 13:05:26 org.apache.coyote.AbstractProtocol start</span><br /><span style="color: #ff0000">信息: Starting ProtocolHandler ["ajp-bio-8009"]</span><br /><span style="color: #ff0000">2011-6-26 13:05:26 org.apache.catalina.startup.Catalina start</span><br /><span style="color: #ff0000">信息: Server startup in 2085 ms</span><br /></p>
<p>当我打开IE时，输入<a href="http://localhost:8080/">http://localhost:8080/</a> 想不到的是，却报了404的错。</p>
<p>　　这想不至于吧，于时要重复了好几遍操作，结果都一样，很是奇怪，我想是不是tomcat 有什么问题，于是我是脱离eclipse，单独启动tomcat，启动完，刷新了页面，正常的tomcat页面出来了。</p>
<p>　　到此得出个问题，肯定是eclipse的问题了，应该不是软件的什么bug，可能是在某个地方设置有问题，从这个角度找下去，后来发现，原来在eclipse中的server中添加一个新的服务时，eclipse默认值有点小问题，</p>
<p>　　具体操作如下：</p>
<p>　　1、找到server操作窗口，双击下面的tomcat服务</p>
<p><span><img src="http://hiphotos.baidu.com/%D7%CF%DC%B0%B7%C9%BA%E8/pic/item/6d87d035271011bda2cc2bd5.jpg" small="0"  alt="" /></span><br />　　２、在打开的设置中，将Server Locations的选项选成第二个&#8220;Use Tomcat installation (takes control of .........)&#8221;</p>
<p><span><img src="http://hiphotos.baidu.com/%D7%CF%DC%B0%B7%C9%BA%E8/pic/item/49e84b15fac39478962b43bd.jpg" small="0"  alt="" /></span><br /></p>
<p>　　现在刷新页面已经好了，能够正常出现大家熟悉的页面，接下你要做的，你懂的。</p>
<p><span><img src="http://hiphotos.baidu.com/%D7%CF%DC%B0%B7%C9%BA%E8/pic/item/bf4ce61d355d4e941ad5765c.jpg" small="0"  alt="" /></span><br /></p>
<p>　　结束语：要是这个选项是灰的，不能够改，请删除，再重新试试，不要启动服务，刚添加tomcat时就切换到该窗口进行以下两步，就可以了。eclipse 将这项默认值选成第一个选项了。导致了今天的问题，希望能够给出现相同问题的人有所帮助！</p><img src ="http://www.blogjava.net/baizhihui19870626/aggbug/373442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/baizhihui19870626/" target="_blank">小白19870626</a> 2012-04-06 10:59 <a href="http://www.blogjava.net/baizhihui19870626/articles/373442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在eclipse中如何快速用快捷键选中一行文本啊</title><link>http://www.blogjava.net/baizhihui19870626/articles/373054.html</link><dc:creator>小白19870626</dc:creator><author>小白19870626</author><pubDate>Fri, 30 Mar 2012 08:00:00 GMT</pubDate><guid>http://www.blogjava.net/baizhihui19870626/articles/373054.html</guid><wfw:comment>http://www.blogjava.net/baizhihui19870626/comments/373054.html</wfw:comment><comments>http://www.blogjava.net/baizhihui19870626/articles/373054.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/baizhihui19870626/comments/commentRss/373054.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/baizhihui19870626/services/trackbacks/373054.html</trackback:ping><description><![CDATA[ctrl+d是删除当前行。<br />当光标在一行的两端时，按住shift+home/end可以选择当前行<br />ctrl+左右是跳过一个单词，<br />ctrl+shift+左右是选择一个单词，可以连点左右已选择多个。<img src ="http://www.blogjava.net/baizhihui19870626/aggbug/373054.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/baizhihui19870626/" target="_blank">小白19870626</a> 2012-03-30 16:00 <a href="http://www.blogjava.net/baizhihui19870626/articles/373054.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>保护眼睛的桌面设置</title><link>http://www.blogjava.net/baizhihui19870626/articles/372547.html</link><dc:creator>小白19870626</dc:creator><author>小白19870626</author><pubDate>Fri, 23 Mar 2012 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/baizhihui19870626/articles/372547.html</guid><wfw:comment>http://www.blogjava.net/baizhihui19870626/comments/372547.html</wfw:comment><comments>http://www.blogjava.net/baizhihui19870626/articles/372547.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/baizhihui19870626/comments/commentRss/372547.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/baizhihui19870626/services/trackbacks/372547.html</trackback:ping><description><![CDATA[设置方法：打开控制面板中的"显示"选择外观(appearance)－高级(advanced)，然后在项目(items)那栏选窗口(windows)，再点颜色(color) －其它颜色(others)，然后把Hue(色调)设为85，Sat(饱和度)设为90，Lum(亮度)设为205。然后单击添加到自定义颜色(Addtocustomcolors)，按&#8220;确定&#8221;...一直确定。 把窗口设成绿色之后，再来把IE的网页背景也变成养眼的绿色吧：打开IE，点击工具(TOOLS)，点INTERNET选项(INTERNETOPTIONS)，点右下角的辅助功能(Assessibility)，然后勾选不使用网页中指定的颜色(ignorecolorsspecifiedonwebpages)，然后点&#8220;确定&#8221;退出。<img src ="http://www.blogjava.net/baizhihui19870626/aggbug/372547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/baizhihui19870626/" target="_blank">小白19870626</a> 2012-03-23 15:16 <a href="http://www.blogjava.net/baizhihui19870626/articles/372547.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>