<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[牛C网]]></title> 
<link>http://www.niuc.net/index.php</link> 
<description><![CDATA[专著于互联网开发技术,学习研究交流seo, dotnet, Ria富客户端, Flash, Flex, ActionScript, Silverlight等技术.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[牛C网]]></copyright>
<item>
<link>http://www.niuc.net/post/6996/</link>
<title><![CDATA[Js字符串操作函数大全 ]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Html技术]]></category>
<pubDate>Thu, 09 Oct 2008 05:44:49 +0000</pubDate> 
<guid>http://www.niuc.net/post/6996/</guid> 
<description>
<![CDATA[ 
	Js字符串操作函数大全<br/><br/>/*<br/>******************************************<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字符串函数扩充&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>******************************************<br/>*/<br/><br/>/*<br/>===========================================<br/>//去除左边的空格<br/>===========================================<br/><br/>*/<br/>String.prototype.LTrim = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.replace(/(^&#92;s*)/g, &quot;&quot;);<br/>}<br/><br/><br/>/*<br/>===========================================<br/>//去除右边的空格<br/>===========================================<br/>*/<br/>String.prototype.Rtrim = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.replace(/(&#92;s*$)/g, &quot;&quot;);<br/>}<br/><br/> <br/><br/>/*<br/>===========================================<br/>//去除前后空格<br/>===========================================<br/>*/<br/>String.prototype.Trim = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.replace(/(^&#92;s*)&#124;(&#92;s*$)/g, &quot;&quot;);<br/>}<br/><br/>/*<br/>===========================================<br/>//得到左边的字符串<br/>===========================================<br/>*/<br/>String.prototype.Left = function(len)<br/>{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isNaN(len)&#124;&#124;len==null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len = this.length;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(parseInt(len)&lt;0&#124;&#124;parseInt(len)&gt;this.length)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len = this.length;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.substr(0,len);<br/>}<br/><br/><br/>/*<br/>===========================================<br/>//得到右边的字符串<br/>===========================================<br/>*/<br/>String.prototype.Right = function(len)<br/>{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isNaN(len)&#124;&#124;len==null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len = this.length;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(parseInt(len)&lt;0&#124;&#124;parseInt(len)&gt;this.length)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len = this.length;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.substring(this.length-len,this.length);<br/>}<br/><br/><br/>/*<br/>===========================================<br/>//得到中间的字符串,注意从0开始<br/>===========================================<br/>*/<br/>String.prototype.Mid = function(start,len)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.substr(start,len);<br/>}<br/><br/><br/>/*<br/>===========================================<br/>//在字符串里查找另一字符串:位置从0开始<br/>===========================================<br/>*/<br/>String.prototype.InStr = function(str)<br/>{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(str==null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = &quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.indexOf(str);<br/>}<br/><br/>/*<br/>===========================================<br/>//在字符串里反向查找另一字符串:位置0开始<br/>===========================================<br/>*/<br/>String.prototype.InStrRev = function(str)<br/>{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(str==null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = &quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.lastIndexOf(str);<br/>}<br/><br/> <br/><br/>/*<br/>===========================================<br/>//计算字符串打印长度<br/>===========================================<br/>*/<br/>String.prototype.LengthW = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.replace(/[^&#92;x00-&#92;xff]/g,&quot;**&quot;).length;<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是正确的IP地址<br/>===========================================<br/>*/<br/>String.prototype.isIP = function()<br/>{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var reSpaceCheck = /^(&#92;d+)&#92;.(&#92;d+)&#92;.(&#92;d+)&#92;.(&#92;d+)$/;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (reSpaceCheck.test(this))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.match(reSpaceCheck);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (RegExp.$1 &lt;= 255 &amp;&amp; RegExp.$1 &gt;= 0 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; RegExp.$2 &lt;= 255 &amp;&amp; RegExp.$2 &gt;= 0 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; RegExp.$3 &lt;= 255 &amp;&amp; RegExp.$3 &gt;= 0 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; RegExp.$4 &lt;= 255 &amp;&amp; RegExp.$4 &gt;= 0) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp; <br/>}<br/><br/><br/>/*<br/>===========================================<br/>//是否是正确的长日期<br/>===========================================<br/>*/<br/>String.prototype.isLongDate = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var r = this.replace(/(^&#92;s*)&#124;(&#92;s*$)/g, &quot;&quot;).match(/^(&#92;d{1,4})(-&#124;&#92;/)(&#92;d{1,2})&#92;2(&#92;d{1,2}) (&#92;d{1,2}):(&#92;d{1,2}):(&#92;d{1,2})$/); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(r==null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]&amp;&amp;d.getHours()==r[5]&amp;&amp;d.getMinutes()==r[6]&amp;&amp;d.getSeconds()==r[7]);<br/><br/>}<br/><br/>/*<br/>===========================================<br/>//是否是正确的短日期<br/>===========================================<br/>*/<br/>String.prototype.isShortDate = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var r = this.replace(/(^&#92;s*)&#124;(&#92;s*$)/g, &quot;&quot;).match(/^(&#92;d{1,4})(-&#124;&#92;/)(&#92;d{1,2})&#92;2(&#92;d{1,2})$/); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(r==null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var d = new Date(r[1], r[3]-1, r[4]); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]);<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是正确的日期<br/>===========================================<br/>*/<br/>String.prototype.isDate = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.isLongDate()&#124;&#124;this.isShortDate();<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是手机<br/>===========================================<br/>*/<br/>String.prototype.isMobile = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return /^0{0,1}13[0-9]{9}$/.test(this);<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是邮件<br/>===========================================<br/>*/<br/>String.prototype.isEmail = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return /^&#92;w+((-&#92;w+)&#124;(&#92;.&#92;w+))*&#92;@[A-Za-z0-9]+((&#92;.&#124;-)[A-Za-z0-9]+)*&#92;.[A-Za-z0-9]+$/.test(this);<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是邮编(中国)<br/>===========================================<br/>*/<br/><br/>String.prototype.isZipCode = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return /^[&#92;&#92;d]{6}$/.test(this);<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是有汉字<br/>===========================================<br/>*/<br/>String.prototype.existChinese = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//[&#92;u4E00-&#92;u9FA5]為漢字﹐[&#92;uFE30-&#92;uFFA0]為全角符號<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return /^[&#92;x00-&#92;xff]*$/.test(this);<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是合法的文件名/目录名<br/>===========================================<br/>*/<br/>String.prototype.isFileName = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return !/[&#92;&#92;&#92;/&#92;*&#92;?&#92;&#124;:&quot;&lt;&gt;]/g.test(this);<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是有效链接<br/>===========================================<br/>*/<br/>String.prototype.isUrl = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return /^http[s]?:&#92;/&#92;/([&#92;w-]+&#92;.)+[&#92;w-]+([&#92;w-./?%&amp;=]*)?$/i.test(this);<br/>}<br/><br/><br/>/*<br/>===========================================<br/>//是否是有效的身份证(中国)<br/>===========================================<br/>*/<br/>String.prototype.isIDCard = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var iSum=0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var info=&quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var sId = this;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var aCity={11:&quot;北京&quot;,12:&quot;天津&quot;,13:&quot;河北&quot;,14:&quot;山西&quot;,15:&quot;内蒙古&quot;,21:&quot;辽宁&quot;,22:&quot;吉林&quot;,23:&quot;黑龙江&quot;,31:&quot;上海&quot;,32:&quot;江苏&quot;,33:&quot;浙江&quot;,34:&quot;安徽&quot;,35:&quot;福建&quot;,36:&quot;江西&quot;,37:&quot;山东&quot;,41:&quot;河南&quot;,42:&quot;湖北&quot;,43:&quot;湖南&quot;,44:&quot;广东&quot;,45:&quot;广西&quot;,46:&quot;海南&quot;,50:&quot;重庆&quot;,51:&quot;四川&quot;,52:&quot;贵州&quot;,53:&quot;云南&quot;,54:&quot;西藏&quot;,61:&quot;陕西&quot;,62:&quot;甘肃&quot;,63:&quot;青海&quot;,64:&quot;宁夏&quot;,65:&quot;新疆&quot;,71:&quot;台湾&quot;,81:&quot;香港&quot;,82:&quot;澳门&quot;,91:&quot;国外&quot;};<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!/^&#92;d{17}(&#92;d&#124;x)$/i.test(sId))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sId=sId.replace(/x$/i,&quot;a&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//非法地区<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(aCity[parseInt(sId.substr(0,2))]==null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var sBirthday=sId.substr(6,4)+&quot;-&quot;+Number(sId.substr(10,2))+&quot;-&quot;+Number(sId.substr(12,2));<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var d=new Date(sBirthday.replace(/-/g,&quot;/&quot;))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//非法生日<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sBirthday!=(d.getFullYear()+&quot;-&quot;+ (d.getMonth()+1) + &quot;-&quot; + d.getDate()))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var i = 17;i&gt;=0;i--) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(iSum%11!=1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br/><br/>}<br/><br/>/*<br/>===========================================<br/>//是否是有效的电话号码(中国)<br/>===========================================<br/>*/<br/>String.prototype.isPhoneCall = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return /(^[0-9]{3,4}&#92;-[0-9]{3,8}$)&#124;(^[0-9]{3,8}$)&#124;(^&#92;([0-9]{3,4}&#92;)[0-9]{3,8}$)&#124;(^0{0,1}13[0-9]{9}$)/.test(this);<br/>}<br/><br/><br/>/*<br/>===========================================<br/>//是否是数字<br/>===========================================<br/>*/<br/>String.prototype.isNumeric = function(flag)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//验证是否是数字<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(isNaN(this))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(flag)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case null:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//数字<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;&quot;:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;+&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//正数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/(^&#92;+?&#124;^&#92;d?)&#92;d*&#92;.?&#92;d+$/.test(this);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;-&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//负数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/^-&#92;d*&#92;.?&#92;d+$/.test(this);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;i&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//整数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/(^-?&#124;^&#92;+?&#124;&#92;d)&#92;d+$/.test(this);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;+i&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//正整数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/(^&#92;d+$)&#124;(^&#92;+?&#92;d+$)/.test(this);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;-i&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//负整数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/^[-]&#92;d+$/.test(this);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;f&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//浮点数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/(^-?&#124;^&#92;+?&#124;^&#92;d?)&#92;d*&#92;.&#92;d+$/.test(this);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;+f&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//正浮点数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/(^&#92;+?&#124;^&#92;d?)&#92;d*&#92;.&#92;d+$/.test(this);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;-f&quot;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//负浮点数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/^[-]&#92;d*&#92;.&#92;d$/.test(this);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//缺省<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/><br/>/*<br/>===========================================<br/>//是否是颜色(#FFFFFF形式)<br/>===========================================<br/>*/<br/>String.prototype.IsColor = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var temp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= this;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (temp==&quot;&quot;) return true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (temp.length!=7) return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (temp.search(/&#92;#[a-fA-F0-9]{6}/) != -1);<br/>}<br/><br/>/*<br/>===========================================<br/>//转换成全角<br/>===========================================<br/>*/<br/>String.prototype.toCase = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var tmp = &quot;&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(var i=0;i&lt;this.length;i++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(this.charCodeAt(i)&gt;0&amp;&amp;this.charCodeAt(i)&lt;255)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp += String.fromCharCode(this.charCodeAt(i)+65248);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp += String.fromCharCode(this.charCodeAt(i));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return tmp<br/>}<br/><br/>/*<br/>===========================================<br/>//对字符串进行Html编码<br/>===========================================<br/>*/<br/>String.prototype.toHtmlEncode = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var str = this;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&amp;/g,&quot;&amp;amp;&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&lt;/g,&quot;&amp;lt;&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&gt;/g,&quot;&amp;gt;&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&#92;&#039;/g,&quot;&amp;apos;&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&#92;&quot;/g,&quot;&amp;quot;&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&#92;n/g,&quot;&lt;br&gt;&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&#92; /g,&quot;&amp;nbsp;&quot;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str=str.replace(/&#92;t/g,&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return str;<br/>}<br/><br/>/*<br/>===========================================<br/>//转换成日期<br/>===========================================<br/>*/<br/>String.prototype.toDate = function()<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return new Date(this.replace(/-/g, &quot;&#92;/&quot;));<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/><br/> <br/><br/> <br/><br/> <br/><br/>1.Asc(x),Chr(x):转换字符，字符码<br/><br/>2。Filter:搜寻字符串数组中的特定字符串<br/><br/>格式：v=filter(x,s[,include[,compare]])<br/><br/>实例：<br/><br/>Dim x()={&quot;kjwang&quot;,&quot;wangkj&quot;,&quot;peter&quot;}<br/><br/>Dim v<br/><br/>v=filter(x,&quot;kj&quot;) &#039;结果v(0)=&quot;kjwang&quot;,v(1)=&quot;wangkj&quot;<br/><br/>v=filter(x,&quot;kj&quot;,false) &#039;结果v(0)=&quot;peter&quot;<br/><br/>v=filter(x,&quot;kj&quot;,true,vbTextCompare) &#039;不分大小写搜寻 <br/><br/>3.InStr:寻找字符串位置(InstrRev:倒过来寻找字符串）<br/><br/>格式：<br/><br/>v=instr(x,y) &#039;从x字符串第1个字符起找出y字符串出现的位置<br/><br/>v=instr(n,x,y) &#039;从x字符串第n个字符起找出y字符串出现的位置<br/><br/>格式：<br/><br/>v=InstrRev(x,s[,n[,Compare]])<br/><br/>4。Join:将字符串连接<br/><br/>格式：v=join(x[,d]）’d为分隔字符<br/><br/>5。Len(x):计算字符串x的长度<br/><br/>格式：v=len(x)<br/><br/>6.Left(x,n):返回字符串x左边n个字符(对应Right(x,n))<br/><br/>7。Mid:读取字符串x中间的字符<br/><br/>格式：v=mid(x,n,m)<br/><br/>8。LTrim(x),RTim(x),Trim(x)去空白字符<br/><br/>9.Replace:字符串取代<br/><br/>格式：v=Replace(x,s,r)<br/><br/>实例：x=&quot;i saw a saw a saw&quot;<br/><br/>v=replace(x,&quot;saw&quot;,&quot;so&quot;) &#039;v=&quot;i so a so a so&quot;<br/><br/>10.Split:字符串分割<br/><br/>格式：v=split(s[,d])<br/><br/>实例：v=split(&quot;vb.net,iis6.0,asp.net&quot;,&quot;,&quot;)<br/><br/>&#039;结果v(0)=&quot;vb.net&quot;,v(1)=&quot;iis6.0&quot;,v(2)=&quot;asp.net&quot;<br/><br/>11.StrReverse:反转字符串<br/><br/>实例：v=strreverse(&quot;kjwang&quot;) &#039;v=&quot;gnawjk&quot;<br/><br/>12.UCase(x),LCase(x):变换英文字母的大小写<br/><br/>实例：x=&quot;hello,VB中文!&quot;<br/><br/>v=UCase(x) &#039;v=&quot;HELLO,VB中文！&quot; <br/>1.取出日期时间<br/><br/>－1）DateValue(x),TimeValue(x)<br/><br/>格式：v=DateValue(x) :取出的“日期”部分<br/><br/>　　　v=timevalue(x) &#039;类上<br/><br/>－2）Year(x),Month(x),Day(x)<br/><br/>格式：v=Year(x)<br/><br/>　　　v=Month(x)<br/><br/>　　　v=Day(x)<br/><br/>　　　Hour(x),Minute(x),Second(x):取出时，分，秒<br/><br/>－3）DateSerial(Y,M,D):合并年、月、日成为日期<br/><br/>实例：Dim v<br/><br/>v=DateSerial(1996,10,5) &#039;v=1996/10/5<br/><br/>　　　TimeSerial(H,M,S):合并时、分、秒成为时间<br/><br/>2.Now:读取系统日期时间<br/><br/>格式：v=now<br/><br/>3.Timer:从凌晨12：00：00AM起所经过的秒数<br/><br/>格式：v=timer<br/><br/>4.DatePart(p,x):取出年、月、日等各部分的数值<br/><br/>实例：Dim X=#2/10/1996 16:45:30#<br/><br/>v=DatePart(&quot;yyyy&quot;,X) &#039;v=1996年<br/><br/>v=DatePart(&quot;m&quot;,X) &#039;v=2月<br/><br/>v=DatePart(&quot;d&quot;,X) &#039;v=10日<br/><br/>v=DatePart(&quot;h&quot;,X) &#039;v=16时<br/><br/>v=DatePart(&quot;n&quot;,X) &#039;v=45分<br/><br/>v=DatePart(&quot;s&quot;,X) &#039;v=30秒<br/><br/>v=DatePart(&quot;q&quot;,X) &#039;v=1季（第一季，春季）<br/><br/>v=DatePart(&quot;y&quot;,X) &#039;v=41天（1996年的第41天）<br/><br/>v=DatePart(&quot;ww&quot;,X) &#039;v=6周（1996年的第6周）<br/><br/>v=DatePart(&quot;w&quot;,X) &#039;v=7（第6周的第7天，即星期六）<br/><br/>5。DateAdd(p,n,x):加减若干时间后的新日期时间<br/><br/>格式：v=DateAdd(p,n,x) &#039;p值同上如：&quot;yyyy&quot;、&quot;m&quot;等<br/><br/>实例：Dim x=#1/31/1996 16:45:30#<br/><br/>v=dateadd(&quot;yyyy&quot;,-3,x) &#039;减3年，v=1993/1/31 16:45:30<br/><br/>6.DateDiff(p,x1,x2):计算两日期时间的差值 &#039;p值同上<br/><br/>实例：dim x1=#12/31/1996 16:45:30#<br/><br/>x2=#2/10/1997 9:30:50#<br/><br/>v=datediff(&quot;yyyy&quot;,x1,x2) &#039;v=1年 <br/><br/>7。FormatDateTime:日期时间的格式化<br/><br/>格式：v=formatdateyime(x[,日期格式])<br/><br/>日期格式值：DateFormat.GeneralDate　、　DateFormat.LongDate、<br/><br/>DateFotmat.ShortDate、DateFormat.LongTime、DateFormat.ShortTime<br/><br/>8.MonthName:返回月份名称<br/><br/>实例：v=monthname(5) &#039;v=&quot;五月&quot;<br/><br/>9.WeekDayName:返回星期名称　’用法同8.<br/><br/>Tags - <a href="http://www.niuc.net/tags/javascript%25E4%25BB%25A3%25E7%25A0%2581/" rel="tag">javascript代码</a> , <a href="http://www.niuc.net/tags/html/" rel="tag">html</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/6776/</link>
<title><![CDATA[一个.net和as 3.0交互dataset并绑定到flex的datagrid例子]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Flex技术]]></category>
<pubDate>Tue, 30 Sep 2008 17:09:19 +0000</pubDate> 
<guid>http://www.niuc.net/post/6776/</guid> 
<description>
<![CDATA[ 
	db.bak为数据库<br/><br/>playnew为网站主目录,主要逻辑在app_code&#92;flash.cs<br/><br/>videodemo为flex项目,主要是把从.net取过来的dataset(经过一定序列化)绑定到datagrid上(实际datagrid只支持单个datatable绑定,所以在.net端的序列化要求一个dataset只能存一张datatable).<br/><br/>flex项目为asp.net依赖,请自行修改对应项(域名与主目录)<br/><br/>有任何疑问,欢迎交流...<br/><br/>代码下载:<a href="attachment.php?fid=210">点击这里下载文件</a><br/>Tags - <a href="http://www.niuc.net/tags/c%2523%25E5%25BC%2580%25E5%258F%2591%25E6%258A%2580%25E6%259C%25AF/" rel="tag">c#开发技术</a> , <a href="http://www.niuc.net/tags/dotnet%25E6%258A%2580%25E6%259C%25AF/" rel="tag">dotnet技术</a> , <a href="http://www.niuc.net/tags/flex%25E6%258A%2580%25E6%259C%25AF/" rel="tag">flex技术</a> , <a href="http://www.niuc.net/tags/datagrid/" rel="tag">datagrid</a> , <a href="http://www.niuc.net/tags/dataset/" rel="tag">dataset</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/6604/</link>
<title><![CDATA[IQ填空题]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Fri, 12 Sep 2008 04:18:57 +0000</pubDate> 
<guid>http://www.niuc.net/post/6604/</guid> 
<description>
<![CDATA[ 
	问题：<br/>1 一枝火柴被人打傷頭部，入醫院包紮了傷口之後，變成了什麼？<br/><br/>2 午餐肉每次見到公仔麵都會打公仔麵，但有一次午餐肉見到意大利粉，午餐肉卻依然打意大利粉。為什麼？<br/><br/>3 黑社會人物最愛什麼動物？<br/><br/>4 為什麼三文魚生和海膽魚生路上迎面而行，互相見到對方，但都不打招呼？<br/><br/>5 在一個由家庭主婦辦的烹飪班裡，黃太教蓮蓉飽、李太教芝麻包，誰教叉燒包？<br/><br/>6 兔仔小妹拒絕了斑馬哥哥的愛，為什麼？<br/><br/>7 香港的肥仔多數姓什麼？<br/><br/>答案：<br/><br/>1 火柴入醫院包紮了頭後，變成了一枝「棉花棒」。<br/><br/>2 午餐肉見到意大利粉依然照打，因為午餐肉對意大利粉說：「別以為你做了負離子直髮，我便不認得你！」<br/><br/>3 黑社會人物當然喜歡「斑馬」（班馬）。<br/><br/>4 三文魚生不跟海膽魚生打招呼，因為「佢地都唔熟?！」<br/><br/>5 誰教叉燒包？當然是「程尋磨教叉燒包」。<br/><br/>6 兔仔小妹拒絕斑馬哥哥的愛，因為兔媽媽說：「紋身的人一定唔係好人」。<br/><br/>7 香港的肥仔是多姓「死」，因為通街都有人叫「死肥仔」。<br/><br/>PS.以上填空，全为广东话填空！<br/>Tags - <a href="http://www.niuc.net/tags/%25E4%25BC%2591%25E9%2597%25B2/" rel="tag">休闲</a> , <a href="http://www.niuc.net/tags/%25E5%25B9%25BF%25E4%25B8%259C%25E8%25AF%259D%25E5%25A1%25AB%25E7%25A9%25BA/" rel="tag">广东话填空</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/big-file-upload-use-filereference-and-neatupload/</link>
<title><![CDATA[再发一个flash+neatupload整合的大文件上传演示]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Flash技术]]></category>
<pubDate>Thu, 04 Sep 2008 09:47:19 +0000</pubDate> 
<guid>http://www.niuc.net/alias/big-file-upload-use-filereference-and-neatupload/</guid> 
<description>
<![CDATA[ 
	演示地址：<br/><br/><a href="http://upload.niuc.net/" target="_blank">http://upload.niuc.net/</a><br/><br/>该演示目前设置为：最大上传2G，超时时间为3小时！<br/>PS.作为演示，请勿上传过大文件，否则服务器硬盘满了麻烦，谢谢合作。<br/>PSS.欢迎大量上传自己的照片！：）<br/><br/>该系统采用了flash的filereference类与.net的开源大文件上传组件<a href="http://www.brettle.com/neatupload" target="_blank">neatupload</a>整合而成，利用了美观的Flash与大文件上传结合，能解决无法使用ftp的环境使用。<br/><br/><span style="color: #FF0000;">本项目为公司开发项目，所以不能提供源代码，不过，还是欢迎技术交流！</span><br/>Tags - <a href="http://www.niuc.net/tags/dotnet%25E6%258A%2580%25E6%259C%25AF/" rel="tag">dotnet技术</a> , <a href="http://www.niuc.net/tags/flash%25E6%258A%2580%25E6%259C%25AF/" rel="tag">flash技术</a> , <a href="http://www.niuc.net/tags/%25E5%25A4%25A7%25E6%2596%2587%25E4%25BB%25B6%25E4%25B8%258A%25E4%25BC%25A0/" rel="tag">大文件上传</a> , <a href="http://www.niuc.net/tags/filereference/" rel="tag">filereference</a> , <a href="http://www.niuc.net/tags/neatupload/" rel="tag">neatupload</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/flex-book/</link>
<title><![CDATA[flexbook+ImageZoom整合，带Flex翻书，图片导航功能]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Flex技术]]></category>
<pubDate>Thu, 04 Sep 2008 09:37:36 +0000</pubDate> 
<guid>http://www.niuc.net/alias/flex-book/</guid> 
<description>
<![CDATA[ 
	演示地址：<br/><br/><a href="http://mag.niuc.net/view.aspx?id=demo" target="_blank">http://mag.niuc.net/view.aspx?id=demo</a><br/><br/>内容是从新浪电子杂志频道里弄来的，如果任何人觉得侵权了，请留言。马上换掉。。。<br/><br/>要代码的请勿联系，本项目为公司的开发项目，恕不能提供代码。。。<br/><br/>本系统采用了国外的两个开源项目<a href="http://www.companje.nl/index.php/2007/06/28/flex-image-zoom-drag-component/" target="_blank">Flex Image Zoom Drag Component</a>和<a href="http://www.quietlyscheming.com/blog/components/flexbook/" target="_blank">Flexbook</a>整合的，有兴趣可以去看看。。。<br/><br/><span style="color: #FF0000;">欢迎技术交流，拒绝索要代码。。。</span><br/>Tags - <a href="http://www.niuc.net/tags/flexbook/" rel="tag">flexbook</a> , <a href="http://www.niuc.net/tags/flex%25E7%25BF%25BB%25E9%25A1%25B5/" rel="tag">flex翻页</a> , <a href="http://www.niuc.net/tags/flex%25E7%25BF%25BB%25E4%25B9%25A6/" rel="tag">flex翻书</a> , <a href="http://www.niuc.net/tags/flash%25E7%25BF%25BB%25E9%25A1%25B5/" rel="tag">flash翻页</a> , <a href="http://www.niuc.net/tags/flex%25E5%259B%25BE%25E7%2589%2587%25E5%25AF%25BC%25E8%2588%25AA%25E5%2599%25A8/" rel="tag">flex图片导航器</a> , <a href="http://www.niuc.net/tags/flex%25E5%25AF%25BC%25E8%2588%25AA%25E5%2599%25A8/" rel="tag">flex导航器</a> , <a href="http://www.niuc.net/tags/flex%25E5%25BC%2580%25E5%258F%2591%25E6%258A%2580%25E6%259C%25AF/" rel="tag">flex开发技术</a> , <a href="http://www.niuc.net/tags/flex/" rel="tag">flex</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/6468/</link>
<title><![CDATA[脑袋短路的迹象]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Wed, 03 Sep 2008 07:50:08 +0000</pubDate> 
<guid>http://www.niuc.net/post/6468/</guid> 
<description>
<![CDATA[ 
	●有一次坐公交拿了IC卡排队上车，前面一个人是扔硬币的，我大脑短路跟着把IC卡扔进去了……<br/><br/>●早上要戴隐形眼镜，结果把盖打开直接把眼镜倒马桶里,然后镇定地倒入新的护理液,准备摘眼镜，半天摘不下来。<br/><br/>●邻居忘了带钥匙，从我家阳台翻过去，在屋里找到钥匙后，又翻回来，再淡定地打开自家房门。更令人叫绝的是，我自始至终在阳台接应着，未觉有不妥之处。唉，我俩的脑袋肯定被同一个门缝挤过。<br/><br/>●某日发现手机不见了，翻遍包包以及屋中各个角落，未果。遂郁闷地跌坐地上，从口袋掏出手机，给大家群发短信：我手机丢了。<br/><br/>开心一下，哈哈。。。<br/>Tags - <a href="http://www.niuc.net/tags/%25E8%2584%2591%25E8%25A2%258B%25E7%259F%25AD%25E8%25B7%25AF/" rel="tag">脑袋短路</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/flex4-Gumbo/</link>
<title><![CDATA[Flex 4 发布]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Flex技术]]></category>
<pubDate>Sat, 23 Aug 2008 08:16:22 +0000</pubDate> 
<guid>http://www.niuc.net/alias/flex4-Gumbo/</guid> 
<description>
<![CDATA[ 
	Flex 4，代号Gumbo ，现在可以在 Adobe 的开源网站上下载了，这次的版本更新据说是为了Flash 10 和 Thermo的发布做准备。<br/><br/><a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4" target="_blank">下载 Flex 4</a><br/><br/><br/>Tags - <a href="http://www.niuc.net/tags/flex%25E6%258A%2580%25E6%259C%25AF/" rel="tag">flex技术</a> , <a href="http://www.niuc.net/tags/gumbo/" rel="tag">gumbo</a> , <a href="http://www.niuc.net/tags/actionscript/" rel="tag">actionscript</a> , <a href="http://www.niuc.net/tags/flex4/" rel="tag">flex4</a> , <a href="http://www.niuc.net/tags/flex4%25E4%25B8%258B%25E8%25BD%25BD/" rel="tag">flex4下载</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/6310/</link>
<title><![CDATA[百度以闪存替代硬盘，以提高服务能力和检索速度]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Wed, 20 Aug 2008 01:14:18 +0000</pubDate> 
<guid>http://www.niuc.net/post/6310/</guid> 
<description>
<![CDATA[ 
	　　昨日，百度宣布以闪存及配套技术全面代替硬盘存储，该公司承载全球检索及索引存储的运算集群中的硬盘已全部拆除。<br/><br/>　　据介绍，百度此次调整经过了两年产品技术研发及测试准备。在以百度自行研发的海量闪存卡及配套技术替代硬盘后，百度也成为全球首个使用闪存技术代替硬盘并大规模商用的互联网公司。百度认为，这改变将提高其服务能力和检索速度。<br/><br/>　　据悉，全球搜索巨头谷歌目前仍保留了硬盘存储技术。<br/>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/sexy-boy/</link>
<title><![CDATA[传说中的双飞少女]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Mon, 11 Aug 2008 14:16:33 +0000</pubDate> 
<guid>http://www.niuc.net/alias/sexy-boy/</guid> 
<description>
<![CDATA[ 
	这组图片,应该是现在QQ群上非常热门的一组图吧,500-1000双飞的双飞少女,其实是叫做"早安少女"...<br/><br/>不多说了,上图...sexy boy<br/><br/><a href="http://www.niuc.net/attachment.php?fid=206" target="_blank"><img src="http://www.niuc.net/attachment.php?fid=206" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><a href="http://www.niuc.net/attachment.php?fid=207" target="_blank"><img src="http://www.niuc.net/attachment.php?fid=207" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><a href="http://www.niuc.net/attachment.php?fid=208" target="_blank"><img src="http://www.niuc.net/attachment.php?fid=208" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><a href="http://www.niuc.net/attachment.php?fid=209" target="_blank"><img src="http://www.niuc.net/attachment.php?fid=209" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>再来一段视频...<br/><br/><object width="400" height="340"><param name="movie" value="http://www.tudou.com/v/3YD7DXfV0PA"></param><param name="allowScriptAccess" value="always"></param><param name="wmode" value="transparent"></param><embed src="http://www.tudou.com/v/3YD7DXfV0PA" type="application/x-shockwave-flash" width="400" height="340" allowFullScreen="true" wmode="transparent" allowScriptAccess="always"></embed></object><br/>Tags - <a href="http://www.niuc.net/tags/%25E6%2597%25A9%25E5%25AE%2589%25E5%25B0%2591%25E5%25A5%25B3/" rel="tag">早安少女</a> , <a href="http://www.niuc.net/tags/%25E5%2590%2589%25E6%25B3%25BD%25E7%259E%25B3/" rel="tag">吉泽瞳</a> , <a href="http://www.niuc.net/tags/%25E8%2597%25A4%25E6%259C%25AC%25E7%25BE%258E%25E8%25B4%25B5/" rel="tag">藤本美贵</a> , <a href="http://www.niuc.net/tags/%25E7%2594%25B0%25E4%25B8%25AD%25E4%25B8%25BD%25E5%25A5%2588/" rel="tag">田中丽奈</a> , <a href="http://www.niuc.net/tags/sexy-boy/" rel="tag">sexy-boy</a> , <a href="http://www.niuc.net/tags/pv-making/" rel="tag">pv-making</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5898/</link>
<title><![CDATA[youtube推出简体中文页面]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Sat, 02 Aug 2008 00:57:03 +0000</pubDate> 
<guid>http://www.niuc.net/post/5898/</guid> 
<description>
<![CDATA[ 
	　　8月1日消息，著名视频网站YouTube.com今日将推简体中文页面，但这家谷歌(Google)旗下的公司并未对此进行公开宣传。观察人士称，此举是因为YouTube尚未解决进入中国的相关政策问题。<br/><br/>　　来自谷歌方面的消息称，由于存在相关政策问题，YouTube正式进入中国市场至今仍未有确切时间表。之前，谷歌大中华区总裁李开复亦在接受新浪科技连线时候表示，对国内视频行业表示关注，但在解决相关法规问题之前，YouTube不会轻易进入中国市场。<br/><br/>　　但即使YouTube能解决上述问题，它进入中国市场仍将面临本土化的问题。酷6网CEO李善友就认为，Youtube很难进到中国，即使进来竞争力也不会比国内企业有优势。因为之前已有太多国际成功大网站在中国做得不成功的先例。<br/><br/>　　不过，这些因素都阻挡不了国际视频巨头试探中国市场的决心。7月下旬，P2P视频点播平台Joost就在北京宣布借道TOM正式进入中国视频市场。而由于谷歌中国近期即将宣布推MP3搜索服务，这是一项谷歌全球范围内均未有过的业务，显示出谷歌中国本土化的决心。业内人士猜测，YouTube也不会放弃进入中国市场的努力。<br/><br/>　　而尽管针对中国市场的策略尚未明朗，但YouTube已针对澳大利亚、巴西、加拿大、德国、西班牙、法国、英国、香港、爱尔兰、印度、意大利、日本、韩国、墨西哥、荷兰、新西兰、波兰、俄罗斯、中国香港、中国台湾等二十个国家、地区推出专门频道，同时也拥有英语、日语、韩语、繁体中文等多语种页面。<br/><br/>　　地址请看：http://hk.youtube.com<br/><br/><br/>Tags - <a href="http://www.niuc.net/tags/youtube%25E7%25AE%2580%25E4%25BD%2593%25E4%25B8%25AD%25E6%2596%2587seo%25E4%25BC%2598%25E5%258C%2596/" rel="tag">youtube简体中文seo优化</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5881/</link>
<title><![CDATA[2008年8月最新网站敏感关键字列表下载]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Fri, 01 Aug 2008 05:27:48 +0000</pubDate> 
<guid>http://www.niuc.net/post/5881/</guid> 
<description>
<![CDATA[ 
	奥运期间，请各站长加强自己网站的信息管理，特别是一些政治敏感的，请赶快屏蔽掉。<br/><br/>以下为8月接到的关键字列表，有两份，里面的内容都需要作出屏蔽。请大家自行下载。<br/><br/><a href="attachment.php?fid=205">点击这里下载文件</a><br/><br/><br/>Tags - <a href="http://www.niuc.net/tags/8%25E6%259C%2588%25E6%2595%258F%25E6%2584%259F%25E5%2585%25B3%25E9%2594%25AE%25E5%25AD%2597/" rel="tag">8月敏感关键字</a> , <a href="http://www.niuc.net/tags/%25E6%259C%2580%25E6%2596%25B0%25E6%2595%258F%25E6%2584%259F%25E5%2585%25B3%25E9%2594%25AE%25E5%25AD%2597/" rel="tag">最新敏感关键字</a> , <a href="http://www.niuc.net/tags/%25E6%259C%2580%25E6%2596%25B0%25E5%25B1%258F%25E8%2594%25BD%25E5%2585%25B3%25E9%2594%25AE%25E5%25AD%2597/" rel="tag">最新屏蔽关键字</a> , <a href="http://www.niuc.net/tags/seo%25E6%258A%2580%25E6%259C%25AF/" rel="tag">seo技术</a> , <a href="http://www.niuc.net/tags/seo%25E4%25BC%2598%25E5%258C%2596/" rel="tag">seo优化</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5864/</link>
<title><![CDATA[谷歌中国内测MP3搜索业务，提供纯正版音乐服务]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Wed, 30 Jul 2008 04:01:49 +0000</pubDate> 
<guid>http://www.niuc.net/post/5864/</guid> 
<description>
<![CDATA[ 
	　　7月30日上午消息，据消息灵通人士透露，谷歌中国近期已悄然内测MP3搜索服务，预计测试版页面将北京奥运开幕前上线。据悉，谷歌MP3搜索将提供纯正版的音乐服务。<br/><br/>　　谷歌将推MP3搜索业务的传闻由来已久，一切悬念将在最近几周见分晓。这也是谷歌在全球范围内的首个MP3服务，此前传闻中姚明曾参与投资的巨鲸音乐网确是谷歌一个重要合作伙伴，而谷歌中国目前已签约的合作伙伴超过100家。<br/><br/>　　“谷歌MP3搜索将为用户提供最佳搜索结果，只提供一个结果，音乐质量很高，不会像其他搜索引擎一样让用户感到无从选择。”据消息人士透露，正版将是谷歌MP3搜索的主打招牌，但该服务是否对用户永久免费，以及是否会对音乐格式做一些加密，这些问题都有待揭晓。<br/><br/>　　新浪科技设法获悉，谷歌MP3搜索业务已确定的一个商业模式是，与合作伙伴进行广告分成，这借鉴了谷歌中国其他业务的一些经验。目前，谷歌中国一个重要任务是继续加快合作伙伴的开拓，加大音乐资源的积累。<br/><br/>　　截稿前，谷歌中国发言人未对此作出正面回应，称谷歌关注到中国用户对音乐搜索的期待，但将一如既往地秉承对产业负责的态度，在找到与音乐产业共赢的方式之前，不会推出MP3搜索服务。<br/><br/>　　根据CNNIC最新调查报告显示，截至2008年6月底我国网民数量达2.53亿，首次大幅超过美国跃居世界第一位。其中，网络音乐是中国网民第一大网络应用，使用率达到84.5%，用户量高达2.14亿人。<br/><br/>　　而MP3搜索服务亦一直是百度的业务支柱，MP3搜索流量一度占据其总流量的3成。但随着国内版权保护事业的发展，百度该业务一直遭受版权问题困扰，谷歌一直不碰这块大蛋糕亦是顾及版权问题。<br/><br/>Tags - <a href="http://www.niuc.net/tags/seo%25E6%258A%2580%25E6%259C%25AF/" rel="tag">seo技术</a> , <a href="http://www.niuc.net/tags/seo%25E4%25BC%2598%25E5%258C%2596/" rel="tag">seo优化</a> , <a href="http://www.niuc.net/tags/%25E9%259F%25B3%25E4%25B9%2590%25E6%2590%259C%25E7%25B4%25A2/" rel="tag">音乐搜索</a> , <a href="http://www.niuc.net/tags/mp3%25E6%2590%259C%25E7%25B4%25A2/" rel="tag">mp3搜索</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5570/</link>
<title><![CDATA[年轻网友过于依赖搜索引擎，变得不记忆不思考]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Tue, 15 Jul 2008 02:51:29 +0000</pubDate> 
<guid>http://www.niuc.net/post/5570/</guid> 
<description>
<![CDATA[ 
	　　从早上一睁眼开始，去哪儿吃早饭，坐哪儿路车，文案怎么写，作业怎么做，下班放学之后去哪K歌，明星们的八卦，哪个牌子的化妆品更适合自己，身体突然出现的小毛病，电影里的小细节，甚至是回家途中偶然遇到的那只猫的品种都成了内心永远比外在火热的“80后”搜索的对象。 <br/><br/>　　最近，一篇名为《“80后”通病》的帖子在各大论坛上火热转载着，因其准确的概括引起了“80后”强烈共鸣。其中一个“症状”就是： <br/><br/>　　“不问问题，相信百度和谷歌的权威，多数人喜欢用搜索引擎思考，将搜索引擎作为自己的智囊。” <br/><br/>　　<strong>知之为知之，不知搜了便知 </strong><br/><br/>　　网友progame在一篇博文中这样描写自己被网络引擎控制的生活：“今天在乐购超市看到猜灯谜活动，以我的智商，看了半天，好像一个也猜不出，因为对于这种东西我们现在已经丧失了探索的兴趣和钻劲了，管它什么谜，google一下吧，因为出谜的人也是智商有限，买本书或者随便网上找找应付应付，那么猜谜的我们呢，自然也是google google。”根据中国互联网络信息中心公布的“2007年搜索用户分布图”显示，有将近80%的用户年龄段分布在18岁~40岁之间。其中18岁~24岁，即“80后”所在的用户群组所占比例最高，已经达到37.84%。 <br/><br/>　　1985年出生的小杨，网龄8年，目前正在澳大利亚麦考瑞大学攻读会计专业的硕士学位。那篇帖子里大部分“症状”他都符合，用他自己的话说就是“准典型性‘80后’”。对于搜索引擎，他“依赖并且享受着”。 <br/><br/>　　小杨还向记者说起他最近的有趣经历：“那天晚上，我像平时一样打开电脑，开始浏览国内的论坛，准备畅快地‘潜水’，突然间，满眼的‘俯卧撑’让我觉得我仿佛是来自另外一个星球的。同屋的室友也跟我一样，满头雾水。我顿时就慌了，手忙脚乱地打开百度。等到答案出来的一刹那，有一种醍醐灌顶的感觉。” <br/><br/>　　对于这种依赖，他很无奈地说：“产生依赖固然不好，可是我实在无法忽视它带给我的方便。” <br/><br/>　　<strong>闷骚爱“闷搜”</strong> <br/><br/>　　如果使用搜索引擎也像练武功那样有个功力强弱之分，那网友progame和小杨充其量也就算正在修炼中的“令狐冲”，而“岳不群”们早就宣布自己已经达到了“三不境界”：不记忆任何资料、不思考任何问题、不撰写任何文案。 <br/><br/>　　对于这样的现象，专家们也曾不止一次地表达过异议和忧虑。但“80后”似乎有着自己的“偏执”。 <br/><br/>　　一篇名为《“80后”：我们的幸福生活在哪里》的网文这样写道： <br/><br/>　　“多元化的文化和思潮扑面而来，我们眼花缭乱，必须要迅速吸收、消化、排毒、恢复，没有什么精神导师的指引。各种媒介抛给我们真真假假的信息。新闻里整日播放着让时代蒙羞的事件。‘大人’和书本早已不能解答我们大多数的问题。” <br/><br/>　　而根据笔者对华中某高校新闻传播学院大四毕业生和研一学生进行的一次调查显示，调查对象分布于21岁~25岁之间，即“80后”所在人群。他们93%以上都是独生子女，凡事都习惯独自分享和承担，但在内心深处很渴望交流和沟通。浮躁、迷茫、孤独、自信、自卑和无奈等情绪在他们描述自己的心理状况和对未来的打算时体现得较为明显。研一学生薇薇在调查中说：“父母总是觉得我很优秀，我在他们面前也比较自信。而现在马上要面对社会了，我又觉得我特别渺小。这种落差很大。” <br/><br/>　　也正是因为这种集自信和自卑于一体的矛盾情绪，让“80后”渴望交流却难以向别人敞开心扉。用一句流行的话说就是属于闷骚型的。小杨在采访中告诉记者：“有时候很想跟别人聊一聊，但总怕自己这么主动会让人家觉得奇怪，而且我说了他们也不见得会理解，这样反而失去了交流的意义，所以就打消了这个念头。要是真的有问题不懂的话，也是直接去网上搜索更方便、准确。问别人很麻烦，而且他们也不见得很清楚啊。” <br/><br/>　　所以，当闷骚的“80后”遇到了科技时代的信息大爆炸，他们选择把脑袋里涌动着的问号通通交付给“威力强大”的搜索引擎，默默地享受着那一次次的“醍醐灌顶”。<br/>　　“天下”不是搜出来的 <br/><br/>　　有限的大脑让无限的搜索引擎成了漫画书中多拉A梦的“任意门”，页面一换就是另一番崭新的天地，想去哪里就去哪里。但依靠它“一网搜天下”的“80后”，思维却逐渐趋于简单化。许多人开始放弃文字，用涂鸦、视频、图片等直观的方式来记录自己的生活。 <br/><br/>　　合肥工业大学计算机专业毕业生刘同学认为：“‘80后’遇到问题的第一反应就是去搜一下，很少有人去找专业书籍了解。然而，网络现在只是很全面，但并不是很深入。搜索引擎提供的信息内容大多都流于表面，并不能深入地解决问题。” <br/><br/>　　目前，网络上已经出现专门针对搜索引擎的网络写手。这些网络写手有意设计出让搜索引擎便于发现的信息，如大量重复的关键词、用户不可看到的文字、错误的链接等等，通过这种方法吸引更多的人浏览他们服务的相关网站，让网站获得更多的广告收入。这些内容统统都被称作“搜索引擎垃圾信息”。 <br/><br/>　　于是刹那间泥沙俱下。一旦打开搜索引擎，有用的、没用的一齐冒了出来，叫人难以甄别。 <br/><br/>　　如此看来，以正确的态度对待搜索引擎才是“80后”使用它之前应该掌握的最重要的技能，而不是如何科学、准确地设置关键词。 <br/><br/>　　<strong>链接</strong> <br/><br/>　　测测你是否有搜索引擎依赖症 <br/><br/>　　1.当别人向你请教一个问题，你10秒内无法想出答案时，你是否会回答去网上搜索一下？ <br/><br/>　　2.当你在写一篇文档(包括中文和英文文档)，需要斟酌某个字句时，你是否会打开搜索引擎寻找答案？ <br/><br/>　　3.当你挂在网上无所事事的时候，你是否会打开一个搜索引擎的页面发呆或随便在里面输入一个想到的词随意搜索？ <br/><br/>　　4.当你看到一个网站的广告时，你是否基本不去留意网站的网址，而只是记住网站的名称留待以后需要的时候搜索一下？ <br/><br/>　　5.当你需要编写一个格式报告(例如年终总结、毕业论文、会议论文)时，你是否会先搜索一些范例并参照编写？ <br/><br/>　　6.当你的头脑里冒出一个可能让你发财的新想法时，你是否会赶紧上网搜索一下看看是否已被别人捷足先登了？ <br/><br/>　　7.如果你马上要和别人就一个你并不熟悉的领域进行讨论时，你是否会赶紧先搜索一把，储备足够的背景知识，然后出动？ <br/><br/>　　8.当你即将奔赴一个陌生的地方，你是否会先打开搜索引擎页面，查阅当地的地理人文、风俗习惯，然后再启程？ <br/><br/>　　9.当你被突然问到一个复杂的问题时，你的头脑中是否会冒出若干个关键词，而非连续的句子？ <br/><br/>　　10.你是否经常有这样的感觉：凡是我想到的，别人都想到了；凡是我想知道的，一定有人知道答案？ <br/><br/>　　让我们来看看你的得分(凡回答是的，请加1分，回答否的，不加分)： <br/><br/>　　10-8分：你已经染上严重的搜索引擎依赖症。 <br/><br/>　　7-5分：你已经具有搜索引擎依赖症的典型症状，并逐渐走向搜索引擎症的黑洞。 <br/><br/>　　4-1分：你还保持有原始部落的求生技能，脱离搜索引擎你还可以过正常的生活。 <br/><br/><strong>科技发展带给人们的，是进化，还是退化呢？</strong><br/>Tags - <a href="http://www.niuc.net/tags/80%25E5%2590%258E%25E9%2580%259A%25E7%2597%2585/" rel="tag">80后通病</a> , <a href="http://www.niuc.net/tags/80%25E5%2590%258E/" rel="tag">80后</a> , <a href="http://www.niuc.net/tags/%25E6%2590%259C%25E7%25B4%25A2%25E5%25BC%2595%25E6%2593%258E/" rel="tag">搜索引擎</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5569/</link>
<title><![CDATA[民营视频网站挺过牌照风险]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Tue, 15 Jul 2008 02:49:02 +0000</pubDate> 
<guid>http://www.niuc.net/post/5569/</guid> 
<description>
<![CDATA[ 
	　　<strong>资本重新活跃,夺回行业主导权</strong> <br/><br/>　　上周,优酷网终于获得视频牌照,走出了政策的灰色地带；而关闭达38天的我乐网重新开张,似乎预示着民营视频网站已经拨云见日,度过了生死攸关的政策风险。<br/><br/>　　与此同时,酷6获得第二轮融资,土豆、优酷此前也先后获得千万美元级的融资。不断出现的大额融资显示,在政策面的信息逐渐明朗后,资本正在重新夺回对视频行业的主导权。<br/><br/>　　<strong>政策面的担忧在减弱</strong><br/><br/>　　经营牌照和内容监管问题一直是视频分享行业最受外界关注的问题。不过,随着酷6、六间房以及优酷等领先的视频分享网站先后获得广电部门颁发的视频牌照,来自政策层面的风险已经不像此前那样刺眼。有国外媒体评论称,优酷获得视频牌照或许意味着中国政府可能不会如一些人此前担心的那样,对私人视频网站采取强硬手段。<br/><br/>　　而我乐网近日的回归也从另一个侧面证实了这一判断。7月11日11时,关闭长达38天、被媒体猜测“已死”的我乐网重新开张,熬过了生死大关。我乐网关闭之后,给出的理由一直是系统维护,不过外界一直认为我乐网长期关闭是由于其内容审查出现问题。<br/><br/>　　在获得牌照后,优酷CEO古永锵对外表示,获得视频牌照与否只是一个起步,拿到视频牌照就如同得到驾驶执照一样,获得了必需的资格后,应该更加自律,更加认真细致地做好本职工作,杜绝违规操作行为。牌照和内容监管问题在褪去神秘的面纱之后,似乎正从决定生死的因素减弱为视频行业发展的影响因素之一。<br/><br/>　　<strong>资本重回前台</strong><br/><br/>　　对政策面的担忧减弱之后,相关网站在资本方面的动作很快将资本再次推到了前台。7月10日,酷6网CEO李善友对外表示,酷6已经获得第二轮风险投资,并将在本周对外宣布细节。有传闻显示,酷6网第二轮融资可能达到3500万美元。<br/><br/>　　而在酷6之前,土豆和优酷在今年刚刚先后获得5700万美元和4000万美元的巨额投资。数据显示,几轮融资之后,优酷的融资总额达到8000万美元,而土豆的融资总额则达到8700万美元。视频网站六间房CEO刘岩对此表示,半年融资一次几乎已经成了视频行业内的规律,六间房也在考虑新一轮的融资问题。<br/><br/>　　频繁出现的融资显示,经营活动产生的现金流现阶段还远远不能满足视频网站的经营需要,视频网站依然处于大把烧钱的阶段。以优酷为例,根据其财务计算,获得最新一轮融资之后,优酷现存资金储备规模超过5000万美元,这意味着自2006年6月创立以来,两年多时间内优酷消耗的资金已经接近3000万美元。<br/><br/>　　易观国际分析师肖珺表示,视频网站运营成本很高,在市场初期必须依靠融资才能维持运转,高融资已经成为必然。而现阶段,视频网站由于同质化严重,用户粘性较低,基本不存在转换成本,加上日益增多的版权问题,视频行业的胜负依然是个未知数。<br/><br/>　　视频分享网的春天，终于来了吗？大家拭目以待吧！<br/>Tags - <a href="http://www.niuc.net/tags/%25E8%25A7%2586%25E9%25A2%2591%25E7%2589%258C%25E7%2585%25A7/" rel="tag">视频牌照</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5448/</link>
<title><![CDATA[从“俯卧撑”看世道人心]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Wed, 09 Jul 2008 03:51:02 +0000</pubDate> 
<guid>http://www.niuc.net/post/5448/</guid> 
<description>
<![CDATA[ 
	<P>　　对于公共管理以及舆情分析者而言，网络新流行语是时刻存在的一种略带狡黠的嘲讽与追问</P><P>　　“关我×事，我是出来做俯卧撑的！”“做着俯卧撑去张家界打酱油。”“自从做了俯卧撑，腰也不痛了，背也不酸了，打酱油也有劲了。”继“打酱油”之后，网络又出现新的流行语——做俯卧撑。</P><P>　　“做俯卧撑”这一词语于7月1日先在天涯社区上呈井喷式爆发，后来在各大网站出现。据调查，最早恶搞“做俯卧撑”的帖子出现在7月1日19时59分，网友“流芳苑主”发表了《吃面要吃雪菜肉丝，运动要做俯卧撑！身体倍儿棒！》的帖子，网友纷纷效仿恶搞“做俯卧撑”。</P><P>　　游走于虚拟江湖，啸聚于网络山头，“新流行语”正以其独特的智慧表达方式，成为既让人会心一笑，又能够逮获极大认同的网络交际手段。今年以来，先后流行于网络间的新流行语就有“很黄很暴力”、“很傻很天真”、“虎躯一震，三分走人”等，及至“打酱油”、“做俯卧撑”出现，我们发现这些新流行语的一个共同的特点是，它们都来自对现实世界的关注，同时无一例外成为一种观点与立场，以及一种批评的力量，因此也成为一种另类的民意表达。这是网络新流行语之所以得以流行的“密码”。</P><P>　　世道者，乃指社会之风气；人心者，乃指人们之思想。世道人心之谓，其实就是现今人们所称的“社会心理学”，或“公共舆论学”。在这一点上，或许“打酱油”一语本身就是一种恰当的阐释。不久前，广州电视台在街头随机采访市民，问及“请问你对艳照门有什么看法？对CGX等明星又有什么看法？”某男性受访者从容应答:“关我×事，我出来打酱油的……”“酱油男”、 “酱油族”等网络用语也因此派生。这其实也从一个侧面反映了我们的共有的社会心理与公共舆论情势。</P><P>　　处于舆论被引导的时代，网络新流行语到底是一种怎样的“切口”与“暗号”，今天我们又将怎样来面对网络流行语所代表的世道人心？对于公共管理以及舆情分析者而言，它们是时刻存在的一种略带狡黠的嘲讽与追问。</P><br/>Tags - <a href="http://www.niuc.net/tags/%25E4%25BF%25AF%25E5%258D%25A7%25E6%2592%2591/" rel="tag">俯卧撑</a> , <a href="http://www.niuc.net/tags/%25E6%2589%2593%25E9%2585%25B1%25E6%25B2%25B9/" rel="tag">打酱油</a> , <a href="http://www.niuc.net/tags/%25E9%2585%25B1%25E6%25B2%25B9%25E7%2594%25B7/" rel="tag">酱油男</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/google-protocol-buffers/</link>
<title><![CDATA[谷歌发布内部数据语言，称比XML快近100倍]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Wed, 09 Jul 2008 02:35:37 +0000</pubDate> 
<guid>http://www.niuc.net/alias/google-protocol-buffers/</guid> 
<description>
<![CDATA[ 
	　　据国外媒体报道，谷歌周一发布了公司内部使用的开源数据描述语言“Protocol Buffers”。Protocol Buffers与XML相似，但其特点是简单、小巧、速度快。 <br/><br/>　　谷歌开源项目经理克里斯·迪邦纳(Chris DiBonap)在博客中称，“我们在网络上传输或在磁盘上存储的几乎所有结构化信息都使用了这种语言。我们认为，Protocol Buffers对其他人也有大有裨益，因此决定把它作为开源软件发布。” <br/><br/>　　谷歌软件工程师肯顿·瓦尔达(Kenton Varda)在公司开源博客网站上表示，谷歌使用数千种不同的数据格式，其中大多数为结构化数据格式。利用XML来处理这些海量结构化数据显得力不从心，于是谷歌开发了Protocol Buffers。 <br/><br/>　　瓦尔达将Protocol Buffers比作一种接口描述语言(IDL)，但没有IDL的复杂性。瓦尔达说：“Protocol Buffers的主要设计目标之一是简洁，而实际情况也是如此。Protocol Buffers不但功能强大，在速度上也至少比XML要快出一个数量级。”<br/><br/>　　据谷歌文档称，与具有可比性的XML文件相比，Protocol Buffers文件体积小2-9倍，解析速度快19-99倍。<br/><br/>　　谷歌还称，将来还计划把更多其他软件项目作为开源软件发布。因为这些项目都将用到Protocol Buffers，因此首先发布Protocol Buffers。<br/>Tags - <a href="http://www.niuc.net/tags/xml/" rel="tag">xml</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5426/</link>
<title><![CDATA[日本合成世界首个人造DNA]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Tue, 08 Jul 2008 01:46:58 +0000</pubDate> 
<guid>http://www.niuc.net/post/5426/</guid> 
<description>
<![CDATA[ 
	　　据国外媒体报道，日本的科学家日前称，他们最近成功地合成出了世界首个几乎是百分之百的人造DNA分子。这一新技术不仅将有助于改进基因治疗方法，甚至还能驱动未来的纳米级电脑或者其它高科技装备。<br/><br/>　　<strong>世界首个人造DNA分子诞生</strong><br/><br/>　　在即将于7月23日出版的最新一期《美国化学协会会刊》上，日本科学家将公布他们的这项最新研究成果。多年来，科学家们一直在探索一种储存密度更大，存储状态更稳定的信息载体。由于脱氧核糖核酸(DNA)有一大特性，就是能够携带生物体的大量基因物质。它惊人的信息存贮容量给科学家们以启迪。他们试图研制人造DNA作为未来的新型信息载体。利用人造DNA存储信息，即所谓的生物存储，这是对DNA上述特性的充分利用。科学家们此前还曾利用过首个大肠杆菌的DNA，之后让酵母细胞来复制DNA，然后将它们组装到一个人造染色体上。目前，DNA技术已经可以应用于制造简单电路。<br/><br/>　　众所周知，DNA的核苷酸序列是遗传信息的贮存形式。DNA一般是通过四种基本构件(核苷酸)对蛋白质进行编码，决定蛋白质中氨基酸排列顺序。此前，已有一些科学家利用人造材料合成了DNA分子。近期，日本富山大学医学教授井上将彦成功地将四种全新的人造构件融进一个DNA分子的糖基框架之中，从而形成了一种异常稳定的双螺旋结构的人造DNA分子，酷似天然的DNA。该结构与普通的DNA双螺旋结构极为相似。与普通DNA相比，人造DNA分子结构呈右螺旋，而且极易形成三重螺旋结构。DNA通过4个碱基配对来复制基因代码，从而主导细胞的功能和发展。其他科学家用较少的人造碱基制造了DNA分子。<br/><br/>　　这种人造DNA结构所拥有的化学特性和异乎寻常的稳定性，将使得生物技术和材料的广泛应用成为可能。人造DNA技术将可能应用于未来细胞外基因系统，该系统具有信息存储和扩展功能。这也许能够为未来DNA计算机的信息存储技术提供理论参考。像天然的DNA一样，此新的人造DNA也是右旋结构，不过，还有一些分子很容易形成3螺旋结构。这些结构的独特化学特征和其高度的稳定性，为开发新的生物技术材料和应用提供空前的可能性。<br/><br/>　　<strong>可用人造DNA创造新生物</strong> <br/><br/>　　早在50年前，科学家已经开始尝试在试管中合成DNA，他们把各种普通的化学成分组合在一起，制造出了这种最独特的生命分子。美国研究人员现在准备跨越一个巨大障碍：完全用人造DNA创造生物。科学家们已经合成出世界上首个完全人造的染色体--长串完全在实验室中合成的DNA，其中包括微生物生存和繁殖所需的所有指令。<br/><br/>　　科学家希望明年把这个染色体移植到一个细胞中，预计该染色体将在细胞里“自行启动”，这就像从网上下载的软件一样，然后“诱骗”这个等待的细胞执行命令。尽管首个人造染色体与天然染色体完全相同，但科学家正在合成一些其他的染色体，这些染色体能够创造出前所未有的生物。科学家和哲学家均认为，用人造DNA创造生物将是一个具有分水岭意义的大事件，它模糊了天然生物和人造产品之间的区别，使人们必须重新考虑是什么使一个东西被称为生命。<br/><br/>　　然而，这种对天地万物前所未有的控制程度提出的不仅仅是哲学问题。科学家、恐怖分子和其他有创造力的人会创造出什么样的生物？如何遏制这些能够自我复制的个体？创造人造生命的基本工具的专利权最终会归谁所有？安全担忧也日益加剧。已经有几位科学家成功地合成了人造病毒。人类即将拥有人造细菌的能力。与病毒不同，细菌可以在活体之外的环境中生存和繁殖。这引起了人们对污染、传染和潜在危害的新忧虑。<br/><br/>　　看来，科幻片从此要开始了。<br/>Tags - <a href="http://www.niuc.net/tags/%25E4%25BA%25BA%25E9%2580%25A0dna/" rel="tag">人造dna</a> , <a href="http://www.niuc.net/tags/%25E7%2594%259F%25E7%2589%25A9%25E8%258A%25AF%25E7%2589%2587/" rel="tag">生物芯片</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5425/</link>
<title><![CDATA[刘德华被印上货币啦?]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Tue, 08 Jul 2008 01:43:28 +0000</pubDate> 
<guid>http://www.niuc.net/post/5425/</guid> 
<description>
<![CDATA[ 
	<a href="http://www.niuc.net/attachment.php?fid=204" target="_blank"><img src="http://www.niuc.net/attachment.php?fid=204" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>怎么上面这货币的人像,跟刘德华如此神像呢?
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5404/</link>
<title><![CDATA[“.中国”成顶级域名]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Seo技术]]></category>
<pubDate>Mon, 07 Jul 2008 09:50:35 +0000</pubDate> 
<guid>http://www.niuc.net/post/5404/</guid> 
<description>
<![CDATA[ 
	　　负责管理互联网地址的机构ICANN在巴黎年会上批准一项提案，允许创建“.中国”顶级域名，这意味着“.中国”将成为网址最后的后缀，如人们所熟悉的“.cn”、“.com”等英文域名。<br/><br/>　　根据国际域名体系，“.cn”是英文国家代码顶级域名，而“.中国”则是中文国家代码顶级域名。实际上“.中国”在成为顶级域名之前，ICANN就已组织了在全球范围内的测试，包括微软在内的各大浏览器提供商等软件厂商均积极参与了这一测试，支持“.中国”的访问。目前包括IE7、Firefox等在内的主流浏览器均支持“.中国”，占浏览器市场超过80%，覆盖绝大多数网民。<br/><br/>　　“.中国”成为顶级域名后，各大浏览器可以直接解析，无需安装任何辅助软件。这与当前中文“.cn”域名能被各种浏览器无障碍解析的原理是一样的。“.cn”的注册量目前已超过1200万个，“.中国”的前景不可限量。<br/><br/>　　这好象是域名迈出个性化的第一部吧...
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5266/</link>
<title><![CDATA[门户网站的痛处：如何让你爱我，我的网民]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Seo技术]]></category>
<pubDate>Sat, 28 Jun 2008 07:09:43 +0000</pubDate> 
<guid>http://www.niuc.net/post/5266/</guid> 
<description>
<![CDATA[ 
	随着奥运盛事的日渐临近，各大媒体尤其是网络媒体充分调动自身资源，全力备战奥运赛场外的竞技，重拳出击奥运报道。然而仅靠“海量的报道信息和及时快速的响应时间”等传统衡量标准都已经不足以评定网站报道质量和影响力，如何吸引2亿多网友的关注并为他们提供一个全民参与和体验奥运的平台，如何利用博客、播客、论坛等互动产品吸引网民前来共同记录和见证奥运精彩时刻，已经成为考验所有网站尤其是四大门户实力的关键所在。<br/><br/><strong>Web1.0：内容报道和奥运资源的比拼</strong><br/><br/>2008北京奥运会不仅是世界各国运动员的一场盛会，也是世界媒体的一场大比拼、大会战。目前，前来报道的各国和地区注册记者已达21600人，非注册记者将有近万名，各国媒体都在厉兵秣马，加紧备战。可以预料，届时将上演一场奥运史上最激烈的媒体大战。而且这场大战中的竞争是全方位的，远不仅仅是在奥运赛场，不仅仅局限于奥运赛事；同时，竞争也是多媒体化的，远不仅仅是在通讯社、广播、电视、报刊等传统媒体之间，新兴的互联网站、手机等各种移动媒体也想大显身手，各施奇招，利用先进技术，发挥互联网和手机媒体等特有的功能和优势，与传统媒体展开前所未有的竞争。<br/><br/>对于国内的各大媒体尤其是几大门户网站来说，战斗虽然尚未打响，但硝烟气息早已弥漫。各方一边紧锣密鼓的备战，一边又同时加强了自身优势的传播，但彼此的侧重各有不同。对于奥运赞助商的搜狐，由于此前在赛事报道上并没有太多亮点可谈，所以一直在强调自身的奥运赞助商身份，以及基于这个身份而获得的相应权益和报道方面的优势，希望借此吸引网友关注。而其它网站由于没有官方身份为背景，只能换个角度去强调自身的优点，于是腾讯去强调自身的互动性和及时性，以及自身在相关资源的运作方面所作的努力工作；网易则直接将多年没有提及的“网聚人的力量”重新喊出，希望能够再聚网民力量，创造一个新的神话；由于这两家相关经验不多，所以谈及的内容就稍显单薄点。但对于多年稳居门户老大地位，并在体育报道上有着丰富的经验和优势的新浪来说，这正是一个宣扬自身优势的好机会，于是新浪从本届奥运会将投入的堪称豪华的报道资源谈起，说到十多年赛事报道的丰富经验以及独特视角对报道成果的影响力，再到从98世界杯开始缔造神话，并在后期的各届奥运会、冬奥会、世界杯和欧锦赛等世界级重大赛事上通过报道而取得所有网民认可的辉煌成绩，通过一项项数据将所有对手都比了下去。尤为让人觉得霸气的还是陈彤在之前的奥运战略发布会上的那句话——“新浪将教会对手如何报道奥运”！<br/><br/>与此同时，新浪、网易和腾讯还联合多家媒体共同组成了奥运报道联盟，表示将在奥运期间相互合作，共同报道奥运。整合后的联盟无论是在报道资源还是报道能力上来说都非常强大，并已在雅典采集圣火时略显锋芒，可以预期的是，在奥运期间，如果奥运报道联盟能够充分发挥其功效，其所造成的影响也势必是足以影响整个中国，乃至全世界。<br/><br/><strong>Web2.0：互动人气的竞技</strong><br/><br/>如果说传统互联网体育报道比拼的仍然是内容资讯和奥运资源，那么web 2.0的比拼，胜负就将掌握在网民大众的手里。为此，各大网站充分调动自身资源，整合了旗下所有的互动产品，期望能够在奥运期间吸引到更多的网民关注和参与。<br/><br/>扬言要两年内超越搜狐成为第二大门户的腾讯网在其开通的奥运站中整合了腾讯旗下所有互动产品，加上传统形式的新闻播报，俨然就是一个小型的“垂直门户”。同时，腾讯还提出了“2008，你的网络主场”的口号，希望网民能参与奥运、讨论奥运、与奥运选手互动。<br/><br/>近几年转向游戏领域发展的老牌门户网易不仅开通了奥运和火炬两站，还在网站核心区域将“火炬”和原有的“新闻”、“图片”、“锐点”并列呈现，可以预见的是，等奥运会正式召开之后，“火炬”也将会自动替换为“奥运”。<br/><br/>而新浪除了开通专门报道奥运的奥运站之外，还专门启动了“我的2008，世界睁大眼睛看”活动，该平台整合了新浪旗下大多数互动产品资源，为网友打造了一个囊括文字、图片、视频、理财、公益、娱乐等多项活动于一体的大平台。丰富多彩的线上活动和高额的奖金让用户产生出较强烈的参与感和分享性，因而深受网友欢迎，覆盖了运动员、火炬手、志愿者、普通大众等各类人群，参与人次高达4400余万。而在线下，新浪不仅跟随阳光操场走进了很多需要关爱和帮助的学校，同时还通过校园行活动，走进了21个城市51所高校，把触角广泛地伸向在校大学生，通过他们记录和行为真实、直观、及时的呈现他们对奥运的祝福和期望。整个活动实实在在的让东道主们的网民实现从“看奥运”到“参与奥运”甚至是“见证奥运”的角色转换，享受到集沟通、资讯、娱乐、分享于一身的奥运体验。<br/><br/>相比之下，作为奥运赞助商的搜狐更多的注意力还是放在对于自身资源的宣传上，无论是登珠峰还是火炬报道又或者签约各大机构，都使搜狐在媒体端的声势一时无两，创造了一个又一个的“独家”和“第一”。但也许正是因为过多的精力都放在了这些方面，因而在搜狐网站上，专门针对网友的互动活动并不多见，让部分慕名而来的网民多少有些遗憾。相关专家表示，2008年的奥运会在全球最活跃的互联网市场之一的中国举行，因而其报道比拼的将不仅是传统的内容资讯和奥运资源，更主要的还在于能否充分调动网民参与的积极性、挖掘他们的创造性。因而，这场赛场外的媒体竞技赛，胜负不在媒体自身，而在网民。那么，我该拿什么来诱惑你，我的网民？<br/><br/>Tags - <a href="http://www.niuc.net/tags/%25E9%2597%25A8%25E6%2588%25B7%25E7%25BD%2591%25E7%25AB%2599/" rel="tag">门户网站</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/virus-and-back-door-attack-flash-by-new-bug/</link>
<title><![CDATA[木马群病毒盯上Flash漏洞]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Flash技术]]></category>
<pubDate>Fri, 27 Jun 2008 17:09:02 +0000</pubDate> 
<guid>http://www.niuc.net/alias/virus-and-back-door-attack-flash-by-new-bug/</guid> 
<description>
<![CDATA[ 
	　　目前每天有数万个木马病毒以“木马群”的形式，利用最新的Flash漏洞攻击用户电脑！瑞星公司昨天发布2008年度第二个红色(一级)安全警报。根据监控和测算，目前已有超过300万台电脑被该类病毒袭击，被感染电脑数量每天还在疯狂增长。中毒电脑会出现杀毒软件被关闭、系统时间被修改、常用程序被删除、网游网银以及QQ等账号密码的被盗等症状。<br/><br/>　　据反病毒专家介绍说，“木马群”病毒是近年来危害较大的一类病毒，最近则利用新出现的Flash软件漏洞，进一步疯狂传播，该漏洞可以影响所有主流操作系统及浏览器，带来的威胁比原有的Windows漏洞更严重，危害也更大。据统计，目前有61%的用户存在此漏洞，面临被盗号木马攻击的危险。<br/><br/>　　针对目前的严峻形势，瑞星公司将该漏洞的威胁等级提升为最高级，并发出红色安全警报。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;牛C网点评：随着富客户端的盛行，Flash/Flex等以ActionScript为开发语言的富客户端开发技术覆盖率已经越来越广，ActionScript已经跃升至全球流行开发语言排名第10位，而漏洞也是陆续爆出，各位喜欢flash/flex的开发人员，要注意啦！<br/>Tags - <a href="http://www.niuc.net/tags/flash%25E6%258A%2580%25E6%259C%25AF/" rel="tag">flash技术</a> , <a href="http://www.niuc.net/tags/actionscript%25E6%258A%2580%25E6%259C%25AF/" rel="tag">actionscript技术</a> , <a href="http://www.niuc.net/tags/%25E5%25AF%258C%25E5%25AE%25A2%25E6%2588%25B7%25E7%25AB%25AF/" rel="tag">富客户端</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5224/</link>
<title><![CDATA[网络营销新手法：无聊营销]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[杂谈]]></category>
<pubDate>Fri, 27 Jun 2008 06:21:32 +0000</pubDate> 
<guid>http://www.niuc.net/post/5224/</guid> 
<description>
<![CDATA[ 
	<span style="color: #FF0000;">不排除下文有炒作成分，如果有想拍砖头的，找“蚊子男”本人去</span><br/><br/>　　6块钱能买到什么?“一升汽油、半斤猪肉，或者坐三次空调车!”在宁楠这里，或许你只能买到一只死蚊子。“卖这么贵，因为是亲手打死的。”自从6月19日他在网络上发出第一个“蚊子尸体”的出售信息后，48小时内这件商品已经有了20万的浏览量，已经有上万人拍下了他亲手打死的“蚊子”。<br/><br/>　　遍各大论坛之后，网友们一致评价，这是一次经典的商业策划，甚至可以记入MBA教程。<br/><br/>　　宁楠对此不以为然，已经有广东和上海两家公司高薪请他去做企业策划，其中一家还是澳大利亚的外企。“全是看了我卖蚊子的事找上门来的。”直到昨天，他也没有答应任何一家的邀请，因为卖蚊子只是第一步，他说全部过程都是周密计划好的，事情一直都是按照自己的预计在发展。“我要靠策划让中国人全都知道我，那时候我卖什么都能赚钱。”<br/><br/>　　<strong>被蚊子叮到“卖了它”解恨</strong><br/><br/>　　宁楠说自己打小就和蚊子有缘。“从我记事起，一到夏天腿上就全是蚊子包。”直到今天，他的腿上还能看到留下的痕迹。“奇痒无比啊，老是不自觉地去抓，最后都是疤。”随着一天天的长大，他发现每年大家都逃不出“蚊子”这个话题。今年端午节回家，母亲发现宁楠腿上又是一个个被蚊子叮的包，就劝他买个蚊帐。“我恨不得卖了蚊子去买蚊帐。”宁楠事后回忆，自己当时对母亲随口一说，根本没放在心上。恰巧，此时的宁楠刚刚从一家公司辞职，打算靠自己学习的策划专业白手起家。<br/><br/>　　“因为工作关系，自己打算在网上专门销售价值百万元的缅甸翡翠。”利润颇高的翡翠生意，是促使他辞职的一大原因。可开网店的一个最大问题摆在他的面前——人气太低!虽然只有24岁，可宁楠此前已经尝试了多个行业——从策划到销售，再到管理。面对不同门类，他总结出了一点，在商品极其丰富的这个时代，卖的就是眼球!<br/><br/>　　如何才能吸引到更多的眼球?宁楠又一次在自己的房间里“策划”，自他从上海某重点高校毕业后，和很多年轻人一样，满脑子的奇思妙想，却总是苦于没有地方施展，而工作已经压抑了自己的思维。<br/><br/>　　“啪!”又打死一只蚊子，宁楠嘴里一边嘟囔着一边清理蚊子的尸体。当这只死蚊子即将要进入垃圾桶时，宁楠被眼前的小东西给吸引了。“被叮了20多年，却从来没仔细看过这玩意。”已经记不得这是他打死的第几只。忽然，一个念头在他脑子里蹦出来?“都说自己用不到的东西，为什么不卖点蚊子?”他自己都觉得这个主意有些好笑。<br/><br/>　　“再一想，从策划学的角度讲，这应该是一个好创意。”<br/><br/>　　<strong>25万浏览量让“蚊子男”走红</strong><br/><br/>　　“太神奇了，竟然还有卖蚊子尸体的!”“又见强人卖家，买还是不买?”“笑死了，强大的网络!强大的卖家!”4天来，天涯、猫扑、西祠等论坛里，不约而同地出现了这样的帖子。内容里的地址都指向了宁楠在某购物网站上的商品信息。<br/><br/>　　“蚊子尸体，6元一只，普通家蚊，真正手工打死的!”这是宁楠对自己出售商品的最简洁解释，却被网友评价为“强悍”!更强悍的，其实是宁楠为出售蚊子尸体写下的产品介绍——本人售出的蚊子标本，一律全手工不借助任何工具，故不能保证完整性!“都是随打随发的，随机性很强，不分公母不保证完整。”<br/><br/>　　6月19日晚，宁楠在国内某购物网站第一次发布了卖蚊子的信息，第二天当他再次打开页面时，发现已经有了近10万人次的浏览量。<br/><br/>　　“或许以前没人这么卖过。”宁楠对自己这一次吸引眼球的策划非常满意，效果已经达到，接下来的一切，已经完全出乎意料。“到了21日晚上，已经有了20万人的浏览量，上万人拍下来我的蚊子。”昨天，宁楠发出了第二批“货”，但是具体数量他不愿意透露。“每一个都是我亲手打的!”<br/><br/>　　卖蚊子的故事，还远没有结束。昨晚，记者了解到，这件名为“家蚊标本，可供学术研究、装饰、收藏，6元每只”的商品，已经累计产生了25万的浏览量。吸引网友们一而再再而三地来关注，少不了宁楠对网友留言的回复。网友jerrybaobao999问“都一个价，拿到大的不是赚了?”“纯天然产品，无人为控制因素，当然有大有小!”网友tao2003bao问“你怎么保证是你亲手拍死的?”“我家就我一人，我想找人还要付劳务费呢!”网友wyf200088问“全手工吗?没有借助任何辅助物吗?”“蚊子是我用台灯引来的，因为我害怕灭蚊灯会把蚊子电死，那就有失诚信了!”网友avaly问“可以不可以帮我弄两只一样大小的，我要做耳钉用?”“贵就贵在每一只大小都不同。”<br/><br/>　　现在，宁楠的网名“范泥泥的润”已经被网友直称为“蚊子男”，在各个论坛只要一亮相，就引来数不尽的话题。<br/><br/>　　<strong>“卖蚊子”卖出外企高薪职位</strong><br/><br/>　　6月21日，宁楠在网上发出了一篇《我承认，卖蚊子，是一场策划》，再次引起关注。“这彻头彻尾是一场策划，一个人的策划。”而这次策划的成功，已经可以直接给他带来经济利益。“很多广告客户希望在我这个商品信息里出现他们的付费广告，已经有上百人联系我希望这么做。”而他没有这么做，“我要赚的，不是这些钱。”<br/><br/>　　确实有更多的东西在等着他。20万的浏览量中，有两个不同寻常的人一直在关注。“昨天一早，就有一个广东东莞打来的电话，上来就说很欣赏我卖蚊子的策划。”经过一次细谈，宁楠了解到，这家澳大利亚的外资公司，负责在国内销售几家澳洲酒庄的高档红酒。“他们一直苦于没有出彩的策划，所以迟迟打不开市场。”经过其他渠道的了解，宁楠发现这家公司的实力和规模都远比自己想象得大。“对方开出的薪水是年薪12万，住指定四星酒店，配车，每个月5000元公关费。”这样的条件满足不了宁楠的胃口，几乎是同时，上海一家通信公司也找到了他。“也是做市场策划和推广，年薪拿满是20万!”<br/><br/>　　一个刚刚辞职的年轻人，用网络证实了自己的能力。宁楠暂时没有答应两家公司的“求贤”，因为在他的计划里，有更大的策划等着他去实现。“卖蚊子只是个开始，为的是吸引眼球，下面要把关注转化成价值。”<br/><br/>　　“这就是策划的力量，我觉得每个人都可以去尝试。”宁楠说，大学里的金融专业对工作没有太大帮助，倒是毕业后进修的策划学，让他受益匪浅。就像一个网友在天涯论坛对他的评价，“靠自己的能力出名，你再一次证明给我们看了!”<br/><br/><strong>牛C网评：<br/><br/>2008。。。人们的生活是太过富裕了，还是太过空虚了？<br/><br/>2008年，是个灾年。6元，能做什么？可以买只蚊子？<br/><br/>或者可以让灾区的同胞们，吃上一顿好饭，或者穿上一件好衣服？<br/><br/>从何时起，中国的风气，成这样了。。。</strong><br/>Tags - <a href="http://www.niuc.net/tags/%25E7%25BD%2591%25E7%25BB%259C%25E8%2590%25A5%25E9%2594%2580/" rel="tag">网络营销</a> , <a href="http://www.niuc.net/tags/%25E6%2597%25A0%25E8%2581%258A%25E8%2590%25A5%25E9%2594%2580/" rel="tag">无聊营销</a> , <a href="http://www.niuc.net/tags/seo%25E4%25BC%2598%25E5%258C%2596/" rel="tag">seo优化</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/environment-friendly-website/</link>
<title><![CDATA[站长新挑战：做站也要环保？]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Fri, 27 Jun 2008 05:56:19 +0000</pubDate> 
<guid>http://www.niuc.net/alias/environment-friendly-website/</guid> 
<description>
<![CDATA[ 
	　　视频分享是时下最火的互联网应用。为了应付日渐膨胀的流量，视频分享网站购买服务器往往就是一车一车地把买来的服务器往机房拉去。此外，包括网络购物网站、搜索网站、网络游戏等无一不是服务器消耗大户。看到这里，你会认为这是互联网蓬勃发展的表现，但在国外专家眼里，服务器不仅是能源消耗大户，而且碳排量也相当惊人。因此有人将IT产品比喻为“无烟工业”，没有高耸的烟囱，但对环境的污染却毫不逊色。<br/><br/>　　据美国国际数据公司统计，仅美国一个国家就有超过7000个数据中心，服务器总数在2010年前将增至1580万台。麦肯锡咨询公司和智囊机构“正常运行时间机构”最近一项调查则表明，全球范围内，<strong>数据中心耗电量逐年递增</strong>。数据中心2000年消耗全球电力的0.6%,到2005年，这一数字已升至1%。麦肯锡的调查报告指出，全球范围内，<strong>数据中心一年的二氧化碳排量比阿根廷或荷兰一个国家的排量还高。</strong><br/><br/>　　为此，国外专家号召网民减少网络购物行为，而传统的商场购物看起来更为环保。对于国外专家的分析，不少用户嗤之以鼻，商场也要发电、发电需要煤炭，去商场购物同样不环保。这样的观点并不在少数。可以肯定的是，互联网前进的速度仍会一如既往，并不会因为机房发出沉默的嗡嗡声及持续升高的碳排放而减慢脚步。就像汽车发展并没有因能源消耗或尾气污染等问题而停滞不前。<br/><br/>　　但，汽车已经开始寻求绿色环保能源发展方向，小排量、低污染的汽车将会成为未来趋势。那些服务器消耗大户们及服务器生产商，看看汽车行业发展，再看看今天的自己，未来是否也应该向汽车行业学习学习？<br/><br/>　　其实，寻求环保绿色的IT世界已经成为主流IT厂商积极探寻的方向。今年在这方面的表现也相对突出，但是，有专家却提出值得关注的问题。ESG高级分析师 Steve Duplessie提醒说，一些企业提出绿色概念，可以说是受经济利益驱使，而非为生态环境考虑。厂商购买低能耗产品只是为了在能耗上节省支出。当数据中心拥挤不堪时，我们才会想到提高能源效率，减少设备占地面积；或者是，楼房里再也装不下更多的电源时，我们才会想到要使用节电的产品。可以说，企业们关心的“绿色”是绿色的钞票。<br/><br/>　　如何解决IT快速发展，数据爆炸与无烟工业对环境破坏的矛盾是个庞大的课题，这里无法解决，但Steve Duplessie给出一个简单可行的方法：<strong>放弃夜间进行增量备份、周末进行全面备份的做法。</strong>类似这样的小小改变，往往就能极大降低存储能耗，这就是我们让IT更绿色的举手之劳。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;各位站长朋友，如何做个绿色环保的站呢，其实不难，上面已经提到了：<strong>放弃夜间进行增量备份、周末进行全面备份的做法。</strong>在目前，我们能做的只有这么多，呵呵。为了绿色的地球，大家一起努力吧！<br/>Tags - <a href="http://www.niuc.net/tags/%25E7%258E%25AF%25E4%25BF%259D%25E5%25BB%25BA%25E7%25AB%2599/" rel="tag">环保建站</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/ICANN-new-domain-fault/</link>
<title><![CDATA[世界域名格局改革受挫：个性化域名注册放开引争议]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Seo技术]]></category>
<pubDate>Fri, 27 Jun 2008 05:49:32 +0000</pubDate> 
<guid>http://www.niuc.net/alias/ICANN-new-domain-fault/</guid> 
<description>
<![CDATA[ 
	　　从明年起，全世界约13亿网民将有机会使用普通单词、产品商标、人名、城市名或者公司名等，自由创建个性化域名。对国际互联网名称和编号分配公司(ICANN)26日在巴黎年会上作出的这一决定，人们意见不一：支持者认为这能使人们在网络上展示个性，并推动互联网发展；反对者认为此举只为谋利，会引起互联网运行的混乱。 <br/><br/>　　法国互联网络信息中心副主任卢瓦克·达米拉维尔认为，市场对域名没有这么多的需求，<strong>ICANN积极推动此事只为挣钱</strong>。法国一家IT公司的管理人员帕特里克·邦罗尔对记者说，这种做法会导致互联网陷入极度的混乱。 <br/><br/>　　邦罗尔分析说，互联网现有域名已成体系，并且有一定规范，如果突然出现一些所谓个性化的域名，<strong>会使搜索工作变得困难，还可能引发抢注域名和侵权的风潮。</strong>邦罗尔说：“我现在就很担心自己的公司名称被抢注。”<br/><br/>　　也有人对域名注册放开表达了另一种担心。参加ICANN巴黎年会的一名中国互联网络信息中心代表在接受新华社记者采访时说，理论上，世界上任何机构和个人都可以提出注册新域名的申请，这就带来了一些问题。比如，有人为了创建网站或提供电子邮箱服务而申请域名，但如果有关服务和维护工作无法跟上，即使成功获得域名也毫无意义。又如，两家公司想注册同一个域名，为得到这个域名就有可能发生恶性竞价。所以，申请注册个性化域名的“门槛”并不低，个性化域名对大多数普通网民来说，可能只是一个梦想。 <br/><br/>　　但ICANN高层人士普遍对放开域名注册持乐观态度。ICANN总裁保罗·图米认为，个性化域名意味着人们拥有了在互联网上展示自我的全新方式，放开个性化域名注册具有巨大的商业潜力。图米称，域名就像互联网的“不动产”，放开限制意味着互联网的“不动产”将大量增加。 <br/><br/>　　ICANN董事长彼得·丹盖特-特鲁什在新闻发布会上指出：“这是历史性的决议，它将给互联网样式和运行模式带来翻天覆地的变化。” <br/><br/><br/>Tags - <a href="http://www.niuc.net/tags/%25E4%25B8%25AA%25E6%2580%25A7%25E5%259F%259F%25E5%2590%258D/" rel="tag">个性域名</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/icann-new-domain/</link>
<title><![CDATA[世界域名格局大变更：ICANN明年开放申请个性化域名]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Seo技术]]></category>
<pubDate>Fri, 27 Jun 2008 05:44:58 +0000</pubDate> 
<guid>http://www.niuc.net/alias/icann-new-domain/</guid> 
<description>
<![CDATA[ 
	　　北京时间6月27日消息，据国外媒体报道，国际互联网名称和编号分配机构(ICANN)昨日投票通过了一项大量增加个性化新域名的建议，为在2009年放开对互联网域名注册的限制铺平了道路。 <br/><br/>　　ICANN透露，最终方案将于明年初公布，该组织将争取在明年第二季度将其付诸实施。这一方案的实施，意味着全世界约13亿网民将可以自由创建个性化的互联网顶级域名。例如，eBay可以采用.ebay作为域名后缀，英特尔也可以使用.intel。甚至连某个城市都可以名称作为域名，如纽约可使用.newyork，柏林可使用.berlin域名。<br/><br/>　　巴黎当天也宣布，将申请.paris顶级域名，而由柏林80多个机构组成的团体也表示，计划申请.berlin顶级域名。<br/><br/>　　根据新计划，各种组织团体可在2009年4月左右申请新的顶级域名，首批采用新域名的网站将在2009年下半年上线。ICANN透露，新顶级域名注册费在10-50万美元左右。<br/><br/><strong>　　ICANN董事会当天还通过另一项决议，决定支持创建使用其他语言、含有非英文字母的网络新域名。</strong><br/>Tags - <a href="http://www.niuc.net/tags/%25E4%25B8%25AA%25E6%2580%25A7%25E5%259F%259F%25E5%2590%258D/" rel="tag">个性域名</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5138/</link>
<title><![CDATA[Zend Studio for Eclipse 6.0.1下载(带注册机)]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Html技术]]></category>
<pubDate>Fri, 20 Jun 2008 12:00:26 +0000</pubDate> 
<guid>http://www.niuc.net/post/5138/</guid> 
<description>
<![CDATA[ 
	这个版本改进了不少地方，例如对ZF的良好支持。官方目前只提供法语、德语、意大利语三个语言包的下载，中文的还没有看到，再期待一下吧！<br/><br/>下载地址如下：<br/><br/><a href="http://downloads.zend.com/studio-eclipse/6.0.1/ZendStudioForEclipse-6_0_1.exe" target="_blank">http://downloads.zend.com/studio-eclipse/6.0.1/ZendStudioForEclipse-6_0_1.exe</a> (for windows)<br/><br/><a href="http://downloads.zend.com/studio-eclipse/6.0.1/ZendStudioForEclipse-6_0_1.tar.gz" target="_blank">http://downloads.zend.com/studio-eclipse/6.0.1/ZendStudioForEclipse-6_0_1.tar.gz</a> (for linux)<br/><br/><a href="http://downloads.zend.com/studio-eclipse/6.0.1/ZendStudioForEclipse-6.0.1.dmg" target="_blank">http://downloads.zend.com/studio-eclipse/6.0.1/ZendStudioForEclipse-6.0.1.dmg</a> (for mac,不好意思，一直不知道这个是MAC下的安装程序)<br/><br/>之前的注册机还可以继续使用，本人已测，呵呵~<br/><br/>在线注册机：<br/><br/><a href="attachment.php?fid=203">点击这里下载文件</a><br/><br/>也可以使用下面的一组注册码进行注册<br/><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">ID: ZendStudio.Net<br/>Serial:341747F1116666990000</div></div><br/><br/><br/>Tags - <a href="http://www.niuc.net/tags/zendstudio6/" rel="tag">zendstudio6</a> , <a href="http://www.niuc.net/tags/eclipse/" rel="tag">eclipse</a> , <a href="http://www.niuc.net/tags/cdkey/" rel="tag">cdkey</a> , <a href="http://www.niuc.net/tags/%25E6%25B3%25A8%25E5%2586%258C%25E6%259C%25BA/" rel="tag">注册机</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/alias/sns/</link>
<title><![CDATA[SNS整体上无泡沫，未来定会诞生垂直平台]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[Seo技术]]></category>
<pubDate>Thu, 19 Jun 2008 02:03:30 +0000</pubDate> 
<guid>http://www.niuc.net/alias/sns/</guid> 
<description>
<![CDATA[ 
	　　6月18日 北京消息：洪波今日在一场关于中国网站SNS发展的研讨会上表示，“从整体上看，SNS没有泡沫，并且未来中国SNS一定会诞生垂直领域的SNS平台。” <br/><br/>　　<strong>不担心泡沫</strong><br/><br/>　　IDG、软银这些风险投资公司对中国互联网似乎永远都有热情，在2007年及2008年向新兴的SNS网站注资数亿美元。就在上月，软银宣布向校内网注资30亿元，此举被业内称为给广大的SNS创业者注入了兴奋剂。在这一刺激下，可以感受到越来越多的SNS网站雨后春笋般钻出，facekoo、PICA、Rezoom等，他们中的许多都还不为人知。另外，很多婚恋SNS网站在去年获得的风投也以数亿计算。<br/><br/>　　大量风投涌入到SNS领域，让业内质疑是否会产生泡沫？对此，资深互联网分析人士洪波认为：“可能会有一些泡沫，但整体上看没有什么泡沫，实际上对个人站长来说，拿到钱(风险投资)的可能性在未来是越来越小的，所以不担心泡沫问题。”<br/><br/>　　<strong>大量小SNS平台出现 校内网用户或损失一半</strong><br/><br/>　　不久前国内著名社区平台及服务提供商康盛创想发布了SNS类建站软件UCenter Home，并在5月22日将该产品开源。据当时不完全统计，有5000个站点投入使用并运营，大量的小SNS平台应运而生。<br/><br/>　　在这样的环境下，洪波认为，“SNS帮助产生了大量新的站长，很多出色的垂直行业的互联网应用诞生。”<br/><br/>　　小SNS平台的出现势必对现有的SNS网站产生或多或少的影响。一位业内资深人士告诉记者：“康盛创想发布SNS类建站软件UCenter Home后，未来校内网的用户至少要被吃掉一半。特别是以后门户网站新浪、搜狐及腾讯开始推广SNS的时候，影响会更大。”<br/><br/>　　一位接近腾讯的人表示，实际上腾讯的QQ校友正在测试中，即将发布。而新浪及搜狐开发的相关SNS产品也指日可待。该人士认为：“SNS只能是有用户基础的网站的补充应用，不能以此为主要应用成功创建一个网站，之前的blog就是显而易见的例子，最终的赢家还是门户。”<br/><br/>　　<strong>盈利值得期待</strong><br/><br/>　　而对于SNS网站的商业模式在洪波看来还是值得期待的，他说：“与人际相关的平台肯定会带来更大的商业模式，但是怎么把价值打通、融合，还有很多工作可以去做。”<br/>Tags - <a href="http://www.niuc.net/tags/sns%25E7%25BD%2591%25E7%25AB%2599/" rel="tag">sns网站</a> , <a href="http://www.niuc.net/tags/%25E7%25BD%2591%25E7%25BB%259C%25E6%25B3%25A1%25E6%25B2%25AB/" rel="tag">网络泡沫</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5116/</link>
<title><![CDATA[Firefox 3 发现第一个安全漏洞]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Thu, 19 Jun 2008 01:58:29 +0000</pubDate> 
<guid>http://www.niuc.net/post/5116/</guid> 
<description>
<![CDATA[ 
	2008年6月17日是 Firefox 3 正式发布日期，24小时内的下载量已超过800万，然而就在正式推出后不到5个小时，TippingPoint 数字免疫实验室(DVLabs) 便报道了 Forefox 3 的一个严重的安全漏洞。<br/><br/>DVLabs 称，该漏洞系研究者发现，DVLabs 已经向该研究者支付费用购买这一发现并做出验证，DVLabs 同时立即将该漏洞报告了 Firefox 安全团队。虽然 DVLabs 在 Firefox 推出安全补丁之前不会公布漏洞细节，但声称，这个同时会影响 Firefox 2 的安全漏洞会在用户参与下执行一些恶意代码。Mozilla 称会推出相关补丁。<br/><br/>本文国际来源： <a href="http://news.cnet.com/8301-10789_3-9972207-57.html?tag=nefd.top" target="_blank">http://news.cnet.com/8301-10789_3-9972207-57.html?tag=nefd.top</a><br/><br/><a href="http://download.pchome.net/internet/browser/browser/detail-19833.html" target="_blank">点击下载 Mozilla Firefox 简体中文正式版3.0 Final</a><br/><br/><br/>Tags - <a href="http://www.niuc.net/tags/firefox3/" rel="tag">firefox3</a> , <a href="http://www.niuc.net/tags/%25E7%25AC%25AC%25E4%25B8%2580%25E4%25B8%25AA/" rel="tag">第一个</a> , <a href="http://www.niuc.net/tags/%25E5%25AE%2589%25E5%2585%25A8%25E6%25BC%258F%25E6%25B4%259E/" rel="tag">安全漏洞</a>
]]>
</description>
</item><item>
<link>http://www.niuc.net/post/5081/</link>
<title><![CDATA[Log4Net配置/使用指南]]></title> 
<author>gdgzboy &lt;admin@niuc.net&gt;</author>
<category><![CDATA[DotNet技术]]></category>
<pubDate>Thu, 12 Jun 2008 03:06:26 +0000</pubDate> 
<guid>http://www.niuc.net/post/5081/</guid> 
<description>
<![CDATA[ 
	声明：本文内容主要译自Nauman Leghari的Using log4net，亦加入了个人的一点心得(节3.1.4)。<BR>请在这里下载<A href="http://www.cnblogs.com/Files/dragon/Log4NetTester.rar">示例代码</A>&nbsp; <BR><P class=MsoNormal style="MARGIN-LEFT: 21.25pt; TEXT-INDENT: -21.25pt; mso-list: l1 level1 lfo1; tab-stops: list 21.25pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">1<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">简介</SPAN><SPAN lang=EN-US><?xml:namespace prefix = o /><o:p></o:p></SPAN></B> </P><P class=MsoNormal style="MARGIN-LEFT: 49.6pt; TEXT-INDENT: -1cm; mso-list: l1 level2 lfo1; tab-stops: list 49.6pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">1.1<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US>Log4net</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的优点：</SPAN><SPAN lang=EN-US><o:p></o:p></SPAN></B> </P><P class=MsoNormal style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">几乎所有的大型应用都会有自己的用于跟踪调试的</SPAN><SPAN lang=EN-US>API</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。因为一旦程序被部署以后，就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">经验表明，日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点：它可以提供应用程序运行时的精确环境，可供开发人员尽快找到应用程序中的</SPAN><SPAN lang=EN-US>Bug</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；一旦在程序中加入了</SPAN><SPAN lang=EN-US>Log </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出代码，程序运行过程中就能生成并输出日志信息而无需人工干预。另外，日志信息可以输出到不同的地方（控制台，文件等）以备以后研究之用。</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US>Log4net</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是为这样一个目的设计的，用于</SPAN><SPAN lang=EN-US>.NET</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发环境的日志记录包。</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 49.6pt; TEXT-INDENT: -1cm; mso-list: l1 level2 lfo1; tab-stops: list 49.6pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">1.2<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US>Log4net</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的安装：</SPAN><SPAN lang=EN-US><o:p></o:p></SPAN></B> </P><P class=MsoNormal style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户可以从</SPAN><SPAN lang=EN-US><A href="http://logging.apache.org/log4net/"><SPAN style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none">http://logging.apache.org/log4net/</SPAN></A></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下载</SPAN><SPAN lang=EN-US>log4net</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的源代码。解压软件包后，在解压的</SPAN><SPAN lang=EN-US>src</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下将</SPAN><SPAN lang=EN-US>log4net.sln</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">载入</SPAN><SPAN lang=EN-US>Visual Studio .NET</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，编译后可以得到</SPAN><SPAN lang=EN-US>log4net.dll</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。用户要在自己的程序里加入日志功能，只需将</SPAN><SPAN lang=EN-US>log4net.dll</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">引入工程即可。</SPAN> </P><P class=MsoNormal><SPAN lang=EN-US><o:p>&nbsp;</o:p></SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 21.25pt; TEXT-INDENT: -21.25pt; mso-list: l1 level1 lfo1; tab-stops: list 21.25pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">2<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US>Log4net</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的结构</SPAN><SPAN lang=EN-US><o:p></o:p></SPAN></B> </P><P class=MsoNormal style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US>log4net </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有四种主要的组件，分别是</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（记录器）</SPAN><SPAN lang=EN-US>, Repository</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（库）</SPAN><SPAN lang=EN-US>, Appender</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（附着器）以及</SPAN><SPAN lang=EN-US> Layout</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（布局）</SPAN><SPAN lang=EN-US>.</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 49.6pt; TEXT-INDENT: -1cm; mso-list: l1 level2 lfo1; tab-stops: list 49.6pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">2.1<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US>Logger<A name=Logger></A><o:p></o:p></SPAN></B> </P><P class=MsoNormal style="MARGIN-LEFT: 70.9pt; TEXT-INDENT: -1cm; mso-list: l1 level3 lfo1; tab-stops: list 70.9pt"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">2.1.1<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US>Logger</SPAN></B><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口</SPAN><SPAN lang=EN-US><o:p></o:p></SPAN></B> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是应用程序需要交互的主要组件，它用来产生日志消息。产生的日志消息并不直接显示，还要预先经过</SPAN><SPAN lang=EN-US>Layout</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的格式化处理后才会输出。</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供了多种方式来记录一个日志消息，你可以在你的应用程序里创建多个</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，每个实例化的</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象都被</SPAN><SPAN lang=EN-US>log4net</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架作为命名实体</SPAN><SPAN lang=EN-US>(named entity)</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来维护。这意味着为了重用</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象，你不必将它在不同的类或对象间传递，只需要用它的名字为参数调用就可以了。</SPAN><SPAN lang=EN-US>log4net</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架使用继承体系，继承体系类似于</SPAN><SPAN lang=EN-US>.NET</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的名字空间。也就是说，如果有两个</SPAN><SPAN lang=EN-US>logger,</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分别被定义为</SPAN><SPAN lang=EN-US>a.b.c</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN lang=EN-US>a.b</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，那么我们说</SPAN><SPAN lang=EN-US>a.b</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</SPAN><SPAN lang=EN-US>a.b.c</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的祖先。每一个</SPAN><SPAN lang=EN-US>logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都继承了祖先的属性</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>Log4net</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架定义了一个</SPAN><SPAN lang=EN-US>ILog</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口，所有的</SPAN><SPAN lang=EN-US>logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类都必须实现这个接口。如果你想实现一个自定义的</SPAN><SPAN lang=EN-US>logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，你必须首先实现这个接口。你可以参考在</SPAN><SPAN lang=EN-US>/extension</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下的几个例子。</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>ILog</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接口的定义如下：</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>public interface ILog</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>{</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>void Debug(object message);</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>void Info(object message);</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>void Warn(object message);</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>void Error(object message);</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>void Fatal(object message);</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><o:p>&nbsp;</o:p></SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以上的每一个方法都有一个重载的方法，用来支持异常处理。</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每一个重载方法都如下所示，有一个异常类型的附加参数。</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>void Debug(object message, Exception ex);</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>// ...</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><o:p>&nbsp;</o:p></SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>//Boolean </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性用来检查</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的日志级别</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（我们马上会在后面看到日志级别）</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>bool isDebugEnabled;</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>bool isInfoEnabled;</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>//&#8230; </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其他方法对应的</SPAN><SPAN lang=EN-US>Boolean</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>}</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>Log4net</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架定义了一个叫做</SPAN><SPAN lang=EN-US>LogManager</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的类，用来管理所有的</SPAN><SPAN lang=EN-US>logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象。它有一个</SPAN><SPAN lang=EN-US>GetLogger()</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">静态方法，用我们提供的名字参数来检索已经存在的</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象。如果框架里不存在该</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象，它也会为我们创建一个</SPAN><SPAN lang=EN-US>Logger</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象。代码如下所示：</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN lang=EN-US>log4net.ILog log = log4net.LogManager.GetLogger("logger-name");</SPAN> </P><P class=MsoNormal style="MARGIN-LEFT: 42pt; TEXT-INDENT: 21pt; mso-para-margin-left: 4.0gd"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通常来说，我们会以类（</SPAN><SPAN lang=EN-US>class</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-f