﻿<?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>IT博客-fxzeng</title><link>http://www.cnitblog.com/fxzeng/</link><description>ruby &amp;&amp; watir</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 05:58:17 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 05:58:17 GMT</pubDate><ttl>60</ttl><item><title>小组里面又有一个人开始玩ruby了</title><link>http://www.cnitblog.com/fxzeng/archive/2006/12/23/20993.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Sat, 23 Dec 2006 02:14:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/12/23/20993.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/20993.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/12/23/20993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/20993.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/20993.html</trackback:ping><description><![CDATA[
		<font size="2">小组里面又有一个人开始玩ruby了.. :)<br />看来他的兴致比我还高啊..<br />一个尽的说ruby的好..<br />:)<br />不过最近ruby论坛怎么就没什么人呢??<br />ruby太简单了?? 没什么好讨论的??</font>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/20993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-12-23 10:14 <a href="http://www.cnitblog.com/fxzeng/archive/2006/12/23/20993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>上海公交真烂</title><link>http://www.cnitblog.com/fxzeng/archive/2006/11/12/19091.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Sun, 12 Nov 2006 01:59:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/11/12/19091.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/19091.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/11/12/19091.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/19091.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/19091.html</trackback:ping><description><![CDATA[上海公交真烂上海公交真烂上海公交真烂上海公交真烂上海公交真烂上海公交真烂上海公交真烂上海公交真烂<img src ="http://www.cnitblog.com/fxzeng/aggbug/19091.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-11-12 09:59 <a href="http://www.cnitblog.com/fxzeng/archive/2006/11/12/19091.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>split用法</title><link>http://www.cnitblog.com/fxzeng/archive/2006/10/29/18589.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Sun, 29 Oct 2006 12:06:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/10/29/18589.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/18589.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/10/29/18589.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/18589.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/18589.html</trackback:ping><description><![CDATA[
		<div style="FONT-SIZE: 12px">
				<font face="Arial">前几天用split的时候发现一个programming ruby里没提到的用法, 刚刚开始还吓了一大跳..<br />不知道大家知道不, 分享一下先<br />"aa,bb,cc".split(/(,)/)<br />结果是['aa', ',', 'bb', ',', 'cc']<br />而不是期望中的 ['aa', 'bb', 'cc']<br />原来正则表达式中的括号搞的鬼<br />如果写成"aa,bb,cc".split(/,/)就是会得到期望中的结果了</font>
		</div>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/18589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-10-29 20:06 <a href="http://www.cnitblog.com/fxzeng/archive/2006/10/29/18589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天老板请客</title><link>http://www.cnitblog.com/fxzeng/archive/2006/09/27/17406.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Wed, 27 Sep 2006 12:05:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/09/27/17406.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/17406.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/09/27/17406.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/17406.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/17406.html</trackback:ping><description><![CDATA[
		<font color="#008000" size="2">今天老板请客,, 很早就回家了,,好爽啊,,天天如此多好啊..<br />不过如果真是这样就没人当leader了,,呵呵..<br /></font>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/17406.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-09-27 20:05 <a href="http://www.cnitblog.com/fxzeng/archive/2006/09/27/17406.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为百度鸣不平</title><link>http://www.cnitblog.com/fxzeng/archive/2006/09/19/17078.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Tue, 19 Sep 2006 13:41:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/09/19/17078.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/17078.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/09/19/17078.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/17078.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/17078.html</trackback:ping><description><![CDATA[
		<font color="#006400" size="2">最近百度被多家公司上告, 接着又招黑客攻击, 各大门户网站纷纷对此事大做文章, 好象这类事情只要一摆出来评论, 骂声总比理解的声音多, 作为一个网民, 尤其是一个中国的网民, 仅在此声援百度, 希望百度能够顶住这一关. 有评论说百度的使用者大多是学生, 这点我深有体会, 但是, 今天的学生, 不就是明天的社会支柱么?</font>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/17078.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-09-19 21:41 <a href="http://www.cnitblog.com/fxzeng/archive/2006/09/19/17078.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cvs 命令 [转载]</title><link>http://www.cnitblog.com/fxzeng/archive/2006/09/19/17075.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Tue, 19 Sep 2006 12:26:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/09/19/17075.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/17075.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/09/19/17075.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/17075.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/17075.html</trackback:ping><description><![CDATA[
		<font face="Arial" size="2">
				<font color="#006400">原作者：weiqiong#g.com<br />首发于</font>：</font>
		<a href="http://www.linuxmine.com/" target="_blank">
				<font face="Arial" color="#000000" size="2">www.linuxmine.com</font>
		</a>
		<br />
		<br />
		<font face="Arial" size="2">1. 导入一个源代码库：<br />源代码库在目录/home/weiqiong/project，其下有文件test.c和test.h<br />shell&gt;cd /home/weiqiong/project<br />shell&gt;cvs import -m "test project" test(需要导入的项目名) weiqiong(开发商信息) start(版本信息)<br /><br />2. 获得第一份工作copy<br />shell&gt;cd /home/weiqiong<br />shell&gt;cvs checkout test<br />则目录/home/weiqiong/test中就会有test.c和test.h两个文件<br /><br />3. 检查工作拷贝(-Q为去除无关的提示文字)<br />shell&gt;cvs -Q update(将cvs上的更新下载到本地)<br />shell&gt;cvs -Q diff -c(比较cvs上和本地的代码的不同)<br />如果希望查看某一特定文件的变化，在最后加上文件名<br /><br />4. 浏览记录信息<br />shell&gt;cvs log test.c<br /><br />5. 查看两个版本的不同之处：<br />shell&gt;cvs diff -c -r 1.3 -r 1.4 test.c<br /><br />6. 恢复旧版本：如果当前最新版本为1.4，而你想将其恢复到1.3版本，重新建立一个新版本1.5<br />shell&gt;cvs -Q update -p -r 1.3 hello.c &gt; hello.c<br />(如果没有-p，表示检验出1.3版本，但是会sticky；加上-p，将1.3版本打到标准输出中，且没有sticky，此处覆盖hello.c文件)<br />shell&gt;cvs update hello.c<br />(可选，但是一般ci之前都要update一次)<br />shell&gt;cvs ci -m "reverted to 1.3 code" hello.c<br />或者<br />shell&gt;cvs update -j 1.4 -j 1.3 hello.c<br />(将1.4-&gt;1.3的差异，应用到当前版本上)<br />shell&gt;cvs update hello.c<br />(可选，但是一般ci之前都要update一次)<br />shell&gt;cvs ci -m "reverted to 1.3 code" hello.c<br /><br />如果是目录<br />在你需要恢复的目录下<br />cvs tag TAG_R1_0_0_2<br />cvs update -j TAG_R1_0_0_2 -j TAG_R1_0_0_1<br />cvs update<br />cvs ci -m "restore to R1_0_0_1"<br />或者<br />在你需要恢复的目录的上一级目录中<br />cvs export -d project_name.old -r TAG_R1_0_0_1 project_name<br />cp -rf project_name.old/* project_name/<br />rm -rf project_name.old<br />cvs update<br />cvs ci -m "restore to R1_0_0_1"<br /><br />请注意，内容是恢复到了TAG_R1_0_0_1，但是版本一直在增加。<br /><br />7. 增加文件<br />vi newfile<br />cvs add newfile(若为二进制文件则用cvs add -kb readme.doc）<br />cvs ci -m "add newfile" newfile<br /><br />8. 删除文件<br />rm newfile.c<br />cvs remove newfile.c<br />cvs ci -m "removed newfile.c" newfile.c<br /><br />9. 增加目录<br />mkdir newdir<br />cvs add newdir<br /><br />10. 要增加带有多级目录和文件的子目录，方法是导入一个目录<br />比如原项目叫abc，在abc目录下想增加一个带有多级目录和文件的目录jni，<br />cd jni<br />cvs import -m "new dir jni" abc/jni weiqiongimport R1_0_0_0<br />然后，客户端(自己和其他人的客户端)需要<br />cvs update -d 获取最新的目录更新<br /><br />11. 删除目录<br />先删除目录下的所有文件，然后<br />cvs update -P 从工作copy中删除空目录，但是源代码库依然保留着空目录<br />如果需要更新工作copy的目录与源代码库完全一致（主要是包括空目录），需要<br />cvs update -d<br /><br />如果不需要恢复，应该<br />到服务器上rm -rf删除该目录<br />在客户端，rm -rf删除该目录，然后在该目录的同级CVS目录下，修改Entries文件，删除带有该目录名的一行<br /><br />12. 导出不带CVS目录的源文件，export只能针对一个TAG或者日期导出，空目录不会被导出：<br />cvs export -r release1 project_name<br />cvs export -D 20021023 project_name<br />cvs export -D now project_name<br />cvs export和cvs co module的区别在于export不生成CVS目录，也不导出空目录，用于作发布<br /><br />13. 确认版本里程碑<br />cvs tag release_1_0<br /><br />14. 开始一个新的里程碑，标记所有文件开始进入2.x的开发<br />cvs commit -m "make all release 2.0" -r 2.0<br />cvs up -A<br /><br />15. 版本分支的建立<br />在开发项目的2.x版本的时候发现1.x有问题，但2.x又不敢用，<br />则从先前标记的里程碑：release_1_0导出一个分支release_1_0patch<br />cvs rtag -b -r release_1_0 release_1_0patch projname<br /><br />一些人先在另外一个目录下导出release_1_0patch这个分支：解决1.0中的紧急问题，<br />cvs checkout -r release_1_0patch<br />而其他人员仍旧在项目的主干分支2.x上开发<br /><br />在release_1_0patch上修正错误后，标记一个1.0的错误修正版本号<br />cvs tag release_1_0patch_1<br />如果2.0认为这些错误修改在2.0里也需要，也可以在2.0的开发目录下合并release_1_0patch_1<br />中的修改到当前代码中：<br />cvs update -j release_1_0patch_1<br />(将release_1_0patch-&gt;update -j release_1_0patch_1的改变，merge到当前的版本中)<br /><br />16.修改某个版本注释：<br />每次只确认一个文件到CVS库里是一个很好的习惯，但难免有时候忘了指定文件名，<br />把多个文件以同样注释commit到CVS库里了，以下命令可以允许你修改某个文件某个版本的注释：<br />cvs admin -m 1.3:"write some comments here" file_name<br />修改从1.2-&gt;1.3checkin时的注释<br /><br />17.在注释中可以加入以下宏，cvs会自动将其替换为相应的项<br />$Id$ $Header$ $Author$ $Date$ $Revision$ $Log$ $Source$ $Name$<br /><br />18.查看当前各文件的状态，包括文件的当前编辑版本号，源代码库版本号，文件的状态<br />cvs status filename<br /><br />19.粘着选项<br />cvs update -D "1999-04-09"<br />删除粘着，回到当前最新版本<br />cvs update -A </font>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/17075.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-09-19 20:26 <a href="http://www.cnitblog.com/fxzeng/archive/2006/09/19/17075.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>rubychina.org</title><link>http://www.cnitblog.com/fxzeng/archive/2006/09/16/16912.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Sat, 16 Sep 2006 00:19:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/09/16/16912.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/16912.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/09/16/16912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/16912.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/16912.html</trackback:ping><description><![CDATA[
		<font size="2">http://www.rubychina.org/ <br />一个关于ruby/rails 以及相关技术的论坛, 偶是斑竹之一, 大家多多关照. </font>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/16912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-09-16 08:19 <a href="http://www.cnitblog.com/fxzeng/archive/2006/09/16/16912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UTF-8与UNICODE  [转载自 http://www.cppblog.com/zuroc/archive/2006/02/15/3269.html ]</title><link>http://www.cnitblog.com/fxzeng/archive/2006/09/10/16616.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Sun, 10 Sep 2006 05:12:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/09/10/16616.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/16616.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/09/10/16616.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/16616.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/16616.html</trackback:ping><description><![CDATA[
		<div class="posttitle">[转载自 <a href="http://www.cppblog.com/zuroc/archive/2006/02/15/3269.html">http://www.cppblog.com/zuroc/archive/2006/02/15/3269.html</a> ]<a class="singleposttitle" id="viewpost1_TitleUrl" href="http://www.cppblog.com/zuroc/archive/2006/02/15/3269.html"><font size="2"><br />Boost:UTF-8 Codecvt Facet(unicode 和 utf-8 之间相互转码)</font></a><font size="2"></font></div>
		<p>
				<font size="2">看到有前辈写了一个</font>
				<a id="viewpost1_TitleUrl" href="http://www.cppblog.com/kb/archive/2005/09/29/491.html">
						<font color="#003366" size="2">UTF-8与UNICODE相互转换的代码</font>
				</a>
				<font size="2">,</font>
				<font color="#003366">
						<font size="2">
								<font color="#000000">顺便提一下,希望可以给大家提供一点帮助.<br /></font>
								<font color="#000000">下面是一些编码格式的bit长</font>
								<br />
						</font>
				</font>
		</p>
		<p>
				<font size="2">Examples of fixed-width encoding forms:</font>
		</p>
		<p>
		</p>
		<table class="gray">
				<tbody>
						<tr>
								<th class="grayfirst">
										<font size="2">Type</font>
								</th>
								<th class="grayfirst">
										<font size="2">Each character<br />encoded as</font>
								</th>
								<th class="grayfirst">
										<font size="2">Notes</font>
								</th>
						</tr>
						<tr>
								<td class="graymiddle" width="25%">
										<font size="2">  7-bit</font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 7-bit quantity</font>
								</td>
								<td class="graymiddle">
										<font size="2">example: </font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#ISO">
												<font size="2">ISO</font>
										</a>
										<font size="2"> 646 </font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">  8-bit G0/G1 </font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 8-bit quantity</font>
								</td>
								<td class="graymiddle">
										<font size="2">with constraints on use of C0 and C1 spaces</font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">  8-bit </font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 8-bit quantity </font>
								</td>
								<td class="graymiddle">
										<font size="2">with no constraints on use of C1 space</font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">  8-bit </font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#EBCDIC">
												<font size="2">EBCDIC</font>
										</a>
										<font size="2">
										</font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 8-bit quantity </font>
								</td>
								<td class="graymiddle">
										<font size="2">with the EBCDIC conventions rather than </font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#ASCII">
												<font size="2">ASCII</font>
										</a>
										<font size="2"> conventions</font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">16-bit (</font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#UCS">
												<font size="2">UCS</font>
										</a>
										<font size="2">-2) </font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 16-bit quantity </font>
								</td>
								<td class="graymiddle">
										<font size="2">within a code space of 0..FFFF</font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">32-bit (</font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#UCS">
												<font size="2">UCS</font>
										</a>
										<font size="2">-4) </font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 32-bit quantity </font>
								</td>
								<td class="graymiddle">
										<font size="2">within a code space 0..7FFFFFFF</font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">32-bit (</font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#UTF">
												<font size="2">UTF</font>
										</a>
										<font size="2">-32) </font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 32-bit quantity </font>
								</td>
								<td class="graymiddle">
										<font size="2">within a code space of 0..10FFFF</font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">16-bit </font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#DBCS">
												<font size="2">DBCS</font>
										</a>
										<font size="2"> process code </font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 16-bit quantity</font>
								</td>
								<td class="graymiddle">
										<font size="2">example: UNIX widechar implementations of Asian CCS's</font>
								</td>
						</tr>
						<tr>
								<td class="graymiddle">
										<font size="2">32-bit </font>
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#DBCS">
												<font size="2">DBCS</font>
										</a>
										<font size="2"> process code </font>
								</td>
								<td class="graymiddle">
										<font size="2">a single 32-bit quantity</font>
								</td>
								<td class="graymiddle">
										<font size="2">example: UNIX widechar implementations of Asian CCS's</font>
								</td>
						</tr>
						<tr>
								<td class="graylast">
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#DBCS">
												<font size="2">DBCS</font>
										</a>
										<font size="2"> Host </font>
								</td>
								<td class="graylast">
										<font size="2">two 8-bit quantities</font>
								</td>
								<td class="graylast">
										<font size="2">following IBM host conventions</font>
								</td>
						</tr>
				</tbody>
		</table>
		<p>
				<font size="2">Examples of variable-width encoding forms:</font>
		</p>
		<p>
		</p>
		<table class="gray">
				<tbody>
						<tr>
								<th class="grayfirst">
										<font size="2">Name</font>
								</th>
								<th class="grayfirst">
										<font size="2">Characters are encoded as</font>
								</th>
								<th class="grayfirst">
										<font size="2">Notes</font>
								</th>
						</tr>
						<tr>
								<td class="graymiddle" width="25%">
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#UTF">
												<font size="2">UTF</font>
										</a>
										<font size="2">-8 </font>
								</td>
								<td class="graymiddle">
										<font size="2">a mix of one to four 8-bit code units in Unicode<br />and one to six code units in 10646</font>
								</td>
								<td class="graymiddle">
										<font size="2">used only with Unicode/10646</font>
								</td>
						</tr>
						<tr>
								<td class="graylast">
										<a class="charclass" href="http://www.unicode.org/unicode/reports/tr17/#UTF">
												<font size="2">UTF</font>
										</a>
										<font size="2">-16 </font>
								</td>
								<td class="graylast">
										<font size="2">a mix of one to two 16 bit code units</font>
								</td>
								<td class="graylast">
										<font size="2">used only with Unicode/10646</font>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<font size="2">Boost中提供了一个UTF-8 Codecvt Facet,可以在utf8和UCS-4(Unicode-32)之间转换.<br />使用方式如下<br /><br />  //...<br />  // My encoding type<br />  typedef wchar_t ucs4_t;<br /><br />  std::locale old_locale;<br />  std::locale utf8_locale(old_locale,new utf8_codecvt_facet&lt;ucs4_t&gt;);<br /><br />  // Set a New global locale<br />  std::locale::global(utf8_locale);<br /><br />  //  UCS-4 转换为 UTF-8<br />  {<br />    std::wofstream ofs("data.ucd");<br />    ofs.imbue(utf8_locale);<br />    std::copy(ucs4_data.begin(),ucs4_data.end(),<br />          std::ostream_iterator&lt;ucs4_t,ucs4_t&gt;(ofs));<br />  }<br /><br />  // 读入 UTF-8 ,转换为 UCS-4 <br />  std::vector&lt;ucs4_t&gt; from_file;<br />  {<br />    std::wifstream ifs("data.ucd");<br />    ifs.imbue(utf8_locale);<br />    ucs4_t item = 0;<br />    while (ifs &gt;&gt; item) from_file.push_back(item);<br />  }<br />  //...<br />UTF-8 Codecvt Facet详见</font>
		<a href="http://www.boost.org/libs/serialization/doc/codecvt.html">
				<br />
				<font size="2">http://www.boost.org/libs/serialization/doc/codecvt.html</font>
		</a>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/16616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-09-10 13:12 <a href="http://www.cnitblog.com/fxzeng/archive/2006/09/10/16616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>昨天买了一个新手机</title><link>http://www.cnitblog.com/fxzeng/archive/2006/09/10/16609.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Sun, 10 Sep 2006 01:13:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/09/10/16609.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/16609.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/09/10/16609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/16609.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/16609.html</trackback:ping><description><![CDATA[
		<font size="2">昨天我买新手机, 呵呵, samsung anycall e900, 欧版, 电池超垃圾, mp3音质一般般. 呵呵, 不过2100的价格也是超值了, <img height="19" src="http://www.cnitblog.com/Emoticons/regular_smile.gif" width="19" border="0" /></font>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/16609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-09-10 09:13 <a href="http://www.cnitblog.com/fxzeng/archive/2006/09/10/16609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>watir 处理弹出窗口 [fxzeng 原创]</title><link>http://www.cnitblog.com/fxzeng/archive/2006/09/02/16303.html</link><dc:creator>Fxzeng's space</dc:creator><author>Fxzeng's space</author><pubDate>Sat, 02 Sep 2006 11:50:00 GMT</pubDate><guid>http://www.cnitblog.com/fxzeng/archive/2006/09/02/16303.html</guid><wfw:comment>http://www.cnitblog.com/fxzeng/comments/16303.html</wfw:comment><comments>http://www.cnitblog.com/fxzeng/archive/2006/09/02/16303.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/fxzeng/comments/commentRss/16303.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/fxzeng/services/trackbacks/16303.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Arial" size="2">
						<strong>watir 处理弹出窗口 </strong>
						<font color="#808000">
								<strong>[fxzeng 原创]</strong>
						</font>
						<font color="#000000">
								<font size="1">(转载请保留此标志)</font>
								<br />
						</font>
						<br />fxzeng<br />mail: fxzeng@126.com</font>
				<font size="2">
						<br />
						<br />
						<font face="Arial">处理弹出窗口是进行web测试的必经之路, 对于对于初学者这似乎是一个并不太好解决的问题, watir 自带的unittests里有这样的例子,但是牵扯的文件多, 而且还涉及到块的调用, 往往初学者只能照葫芦画瓢的解决这个问题.</font>
				</font>
		</p>
		<p>
				<font size="2">
						<font face="Arial">这里介绍一种简便的处理方法, 先看看unittests中是如何处理弹出窗口的: <br />共牵扯到三个文件<br />#-----------------unittests/jscript_test.rb-------------------------------<br />     # check_dialog, to create a new thread to help push the dialog button<br />     #<br />    def check_dialog(extra_file, expected_result, &amp;block)<br />        goto_javascript_page()<br />       </font>
						<font color="#800000">
								<font face="Arial"> Thread.new { system("rubyw \"#{$mydir}\\#{extra_file}.rb\"") }<br />        # system(), call win cmd to run</font>
								<font face="Arial">
										<font color="#800000"> jscriptExtraAlert.rb<br /></font>
										<br />
								</font>
						</font>
				</font>
				<font size="2">
						<font face="Arial">
								<font color="#800000">        block.call<br /></font>        testResult = $ie.text_field(:id, "testResult").value<br />        assert_match( expected_result, testResult )  <br />    end<br /><br /></font>
						<font face="Arial" color="#800000">    # test method<br /></font>
				</font>
				<font color="#800000" size="2">
						<font face="Arial">    def test_alert_button()<br />        check_dialog('jscriptExtraAlert', /Alert OK/){ $ie.button(:id, 'btnAlert').click }<br />    end<br /></font>
						<font face="Arial" color="#000000">#--------------END--jscript_test.rb-------------------------------<br /><br />#---------------unittests/<font color="#000000">jscriptExtraAlert.rb-------------------------------</font><br />$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__</font>
				</font>
		</p>
		<p>
				<font color="#800000" size="2">
						<font face="Arial" color="#000000">require 'watir/WindowHelper'</font>
				</font>
		</p>
		<p>
				<font color="#800000" size="2">
						<font color="#000000">
								<font face="Arial">
										<font color="#800000">helper = WindowHelper.new<br />helper.push_alert_button()</font>
										<br />
										<br />#-------------END--<font color="#000000">jscriptExtraAlert.rb-------------------------------</font><br /><br />#-------------watir/WindowHelper.rb------------------------------<br />require 'win32ole'</font>
						</font>
				</font>
		</p>
		<p>
				<font color="#800000" size="2">
						<font color="#000000">
								<font face="Arial">class WindowHelper<br />    def initialize( )<br />        @autoit = WIN32OLE.new('AutoItX3.Control')<br />    end<br /><br />    def push_alert_button()<br /></font>
								<font face="Arial">
										<font color="#800000">        @autoit.WinWait "Microsoft Internet Explorer", ""<br />        @autoit.Send "{ENTER}"<br /></font>    end<br />#------------END--WindowHelper.rb--------------------------<br />文件之间的调用关系真是够复杂的, : ) 涉及到了三个文件, 如果需要按Cancel键的话还得增加一个jscriptExtraConfirmCancel.rb, 需要处理安全警告的话还得增加一个...., 或许你会说, 这些文件都不复杂, 写在主文件里不就行了么, 干吗还得调用文件?? 呵呵, 试试就知道为什么了...<br />这里介绍的方法用一个文件就可以代替原来的多个文件, 即可以处理确认, 撤消, 安全警告, 选择文件等多种情况的弹出窗口.<br />#----------main-method-----------------------------<br />def test_push_button<br />    ... ...<br />    thrs = []<br /></font>
								<font face="Arial">
										<font color="#800000">    thrs &lt;&lt; Thread.new{system("rubyw #{mydir}\\myWinHelper.rb Microsoft delete TAB ENTER")}<br />    # Microsoft, title of the popup window, delete, text contained in the window, TAB ENTER, push TAB key then ENTER<br />    thrs &lt;&lt; Thread.new{$ie.button(:id, 'btnAlert').click }<br /></font>
										<font color="#000000">    thrs.each{|x| x.join}</font>
										<br />    ... ...<br />end<br />#---------END--main-method--------------------<br /><br />#--------myWinHelper.rb-----------------------<br />require 'win32ole'<br /><br />autoit = WIN32OLE.new"AutoItX3.Control"<br /><br />title = ARGV[0]<br />texts = ARGV[1]<br />operation = []<br />for i in 2..(ARGV.lengh - 3)<br />    operaton &lt;&lt; ARGV[i]<br />end<br />autoit.WinWait(title,texts)<br /></font>
								<font face="Arial">
										<font color="#800000">operatoin.each{|x|<br />    autoit.Send"{x}"<br />}<br /></font>#---------END--myWinHelper.rb------------<br /><br />这样, 弹出窗口问题就可以轻松解决了, 只需一个myWinHelper.rb就可以处理确定取消等常见问题, 这里的myWinHelper.rb只是一个例子, 如果有兴趣, 可以在里面添加语句, 可以轻松处理更多问题, 比如<br />安全警告窗口:<br />    thrs &lt;&lt; Thread.new{system("rubyw #{mydir}\\myWinHelper.rb \"TAB 3\" ENTER")}<br />    # push TAB key three times, and ENTER<br />选择文件窗口:<br />    thrs &lt;&lt; Thread.new{system("rubyw #{mydir}\\myWinHelper.rb d:\\file\\test.txt !o")}<br />    # enter the directory of the file, and then push Alt+o<br /><br />watir 处理弹出窗口 <font color="#808000">[fxzeng 原创]</font><br /><br />fxzeng<br />mail: fxzeng@126.com</font>
						</font>
				</font>
		</p>
<img src ="http://www.cnitblog.com/fxzeng/aggbug/16303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/fxzeng/" target="_blank">Fxzeng's space</a> 2006-09-02 19:50 <a href="http://www.cnitblog.com/fxzeng/archive/2006/09/02/16303.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>