<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>秘密小黑屋</title>
	<atom:link href="http://www.fhand.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fhand.com/blog</link>
	<description>David&#039;s black room</description>
	<lastBuildDate>Wed, 08 Sep 2010 03:28:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>烤箱来了</title>
		<link>http://www.fhand.com/blog/archives/92.html</link>
		<comments>http://www.fhand.com/blog/archives/92.html#comments</comments>
		<pubDate>Wed, 08 Sep 2010 03:27:54 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[杂七杂八]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=92</guid>
		<description><![CDATA[盼星星盼月亮，等了一个星期，终于快递给送货了，不错。以后可以自己烤各种好吃的了，哇哈哈。
晚上回家捣腾去。happy
分享收藏
]]></description>
			<content:encoded><![CDATA[<p>盼星星盼月亮，等了一个星期，终于快递给送货了，不错。以后可以自己烤各种好吃的了，哇哈哈。<br />
晚上回家捣腾去。happy</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=92&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_92" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/92.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>记录一下sprintf的格式</title>
		<link>http://www.fhand.com/blog/archives/90.html</link>
		<comments>http://www.fhand.com/blog/archives/90.html#comments</comments>
		<pubDate>Tue, 29 Jun 2010 05:50:18 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[技术收集]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sprinf]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=90</guid>
		<description><![CDATA[sprinf 格式 shell脚本 ]]></description>
			<content:encoded><![CDATA[<p>每次都记不清，每次都要单独查询，哈哈。<br />
sprinf的格式输出如下：<br />
  ［标志］［输出最少宽度］［．精度］［长度］类型<br />
再来几个小例子，巩固下：<br />
     &#8220;％-md&#8221; ：左对齐，若m比实际少时，按实际输出。<br />
     &#8220;%m.ns&#8221;：输出m位，取字符串(左起)n位，左补空格，当n>m or m省略时m=n<br />
                      e.g.    &#8220;%7.2s&#8221;   输入CHINA<br />
                                 　         输出&#8221;     CH&#8221;<br />
     &#8220;%m.nf&#8221;：输出浮点数，m为宽度，n为小数点右边数位<br />
                      e.g.    &#8220;%3.1f&#8221;    输入3852.99<br />
                                             输出3853.0<br />
d是数字，s是字符串，f是浮点类型，常用的就这些了。</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=90&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_90" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/90.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>北京市小学入学测试题-50题[2009版]</title>
		<link>http://www.fhand.com/blog/archives/88.html</link>
		<comments>http://www.fhand.com/blog/archives/88.html#comments</comments>
		<pubDate>Fri, 11 Jun 2010 04:57:57 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[技术收集]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=88</guid>
		<description><![CDATA[     1.一组数字，找出其中规律，并填写完整：1.2.3.4.6（）12
　　2.一组小朋友玩老鹰捉小鸡，有一位扮演老鹰，一位做母鸡，还有8个做小鸡。请问
再来3组，一共有几位小朋友？
　　3.10＋8＝？
　　4.老师说：8个小朋友玩捉迷藏，已抓住4个还剩几个？
　　5.有两杯果汁，宝宝先喝了半杯，妈妈又到满了；宝宝又喝了半杯，妈妈又倒满了，
最后宝宝都喝完了，请问宝宝共喝了几杯？
　　6.数数几个三角形；数数几个正方形；
　　7.草莓和桃子各代表一个数，草莓加桃子等于7，草莓加草莓等于8，草莓和桃子各是
几？
　　8.读儿歌
　　三轮车：
　　三轮车跑的快，
　　里面坐个老太太，
　　要一块给十块，
　　你说奇怪不奇怪！
　　9.一堆巴掌大的硬纸牌代表数字，圆形牌代表1，长方代表2，三角3，正方4，五角星5。说一个数，把加起来的等于这个数的牌举起来。
　　A.拼6B.拼10C.拼13
　　10.自己读谜面，然后猜
　　A.一个小姑娘，穿着黄衣裳，你要欺负她，她就射一枪
　　B.一间小房子，有门没有窗，外面热里面冷
　　11.数学填数
　　2+()=13；13-()=8；3+5=()；4+6=()；8+6=()；13+8=()
　　12.比67大的数说3个，比67小的数说3个
　　13.幼儿园的苹果吃了一半还剩20个，幼儿园原来有多少个苹果？
　　14.填数：
　　其一、8()105126()7；
　　其二、1231351471（）（）
　　15.有三个杯，装三个不同量的水，加入糖后，哪杯最甜？为什么？
　　16.一张纸撕一次变成三张
　　17.一张纸撕一次撕出四个口
　　18.六根牙签摆出5个正方形
　　19.四根牙签摆出3个三角形
　　20.梳子除了可以梳头之外，还可以用来做什么用？
　　21.钢笔除了可以写字之外，还可以用来干什么？
　　22.假设1是学猫叫，2是蹲，3是站，4是举手，5是转圈。然后听老师指令，做出相应
的动作。
　　23.根据要求串珠子，“黑白黑黑白白”后面接着串。
　　24.小明能推动汽车，为什么？
　　25.小明不喜欢穿高跟鞋，小明换灯泡不用梯子，小朋友你们认为小明有什么特征？
　　26.小红参加数学竞赛，和参加竞赛的每个人握一次手。小红一共握了39次手，问参
加数学竞赛的一共有多少人？
　　27.评价一下自己在幼儿园里的情况
　　28.儿歌：老师说一遍，小朋友复述一遍：(老师只念一遍)
　　春天到了，花儿笑了，
　　夏天到了，知了叫了，
　　秋天到了，枫叶红了，
　　冬天到了，雪花飘飘。
　　29.河边有7只小鸭子和1只鸭妈妈要过河，其中4只小鸭子过了河，问还剩几只小鸭子
？
　　30.公共汽车上，第一站上来5个人，第二站下去2人，第三站上来3人，问：车上剩几
个人，售票阿姨卖了几张票？
　　31.打节奏(嗒嗒嗒嗒)问：少一拍怎么？打少二拍怎么打？少三拍怎么打？
　　32.我们第一次见面，还不认识你，你能向老师介绍一下你自己吗？
　　33.如果待会儿出去的时候，发现爸爸妈妈不见了，怎么办？
　　34.请你重新排列一下这四幅图的顺序，然后编成一个故事。
　　35.评价一下自己在幼儿园里的情况
　　36.春夏秋冬的区别和特征
　　37.你和小朋友们排成一队做操，从前面数你是第6个，从后面数你是第5个小朋友，
请问一共有几个小朋友？
　　38.小朋友你有什么特别的爱好吗？能不能在这里表演一下。
　　39.妈妈今年30岁，爸爸比妈妈大3岁，想想再过5年后，爸爸比妈妈大几岁？
　　40.两个盒子里各有5块糖，从第一个盒子里拿出2块放入第二个盒子，现在两个盒子
里一共有多少块？
　　41.小朋友排队，从左向右数小红排第7，从右向左数小红排第8，这一排队伍一共多
少人？
　　42.小芳买拼音本用了6角钱，还剩4角钱，小芳原来有几角钱？合多少元？
　　43.黑兔、黄兔和白兔三只兔子在赛跑。黑免说：“我跑得不是最快的，但比白兔快
。”请你说说，谁跑得最快？谁跑得最慢？（）跑得最快，（）跑得最慢。
　　44.自我介绍
　　指导语：小朋友。今天老师与你交朋友，你告诉我你家的情况好吗？老师问你，你听
清楚，回答老师。
　　（1）你姓什么？叫什么名字？你今年几岁了？
　　（2）你家住在哪里？你家有几口人？
　　（3）你爸爸叫什么名字？干什么的？
　　（4）你妈妈叫什么名字？干什么的？你长大了想做什么？
　　（5）现在，你把家里的情况连起来对老师说一遍，怎么说呢？
　　45.一个数一个节拍，按次以适当的速度报一组数字，让孩子重复，先检测一组，通
过1组，再检测下面一组．没通过再检测2组，直到七组测完为止．
　　（1）检测1
　　2468
　　3429
　　82457
　　298742
　　5672394
　　2534867
　　538712345
　　（2）检测2
　　1357911
　　2468101214
　　1567891012
　　369963576
　　985213610
　　215971358
　　79648352
　　46.为啥北极熊不吃企鹅？
　　47.一个正方形是四个角，问：在角上切了一个角之后还剩几个角？
　　48.常识题：鸡和鸭有什么不同？
　　49.小红参加数学竞赛，和参加竞赛的每个人握一次手。小红一共握了39次手，问参
加数学竞赛的一共有多少人？
　　50.小鸡和小鸭一起在路上走，小鸭掉到坑里了，小鸡应该怎么把小鸭救上来？
分享收藏
]]></description>
			<content:encoded><![CDATA[<p>     1.一组数字，找出其中规律，并填写完整：1.2.3.4.6（）12<br />
　　2.一组小朋友玩老鹰捉小鸡，有一位扮演老鹰，一位做母鸡，还有8个做小鸡。请问<br />
再来3组，一共有几位小朋友？<br />
　　3.10＋8＝？<br />
　　4.老师说：8个小朋友玩捉迷藏，已抓住4个还剩几个？<br />
　　5.有两杯果汁，宝宝先喝了半杯，妈妈又到满了；宝宝又喝了半杯，妈妈又倒满了，<br />
最后宝宝都喝完了，请问宝宝共喝了几杯？<br />
　　6.数数几个三角形；数数几个正方形；<br />
　　7.草莓和桃子各代表一个数，草莓加桃子等于7，草莓加草莓等于8，草莓和桃子各是<br />
几？<br />
　　8.读儿歌<br />
　　三轮车：<br />
　　三轮车跑的快，<br />
　　里面坐个老太太，<br />
　　要一块给十块，<br />
　　你说奇怪不奇怪！<br />
　　9.一堆巴掌大的硬纸牌代表数字，圆形牌代表1，长方代表2，三角3，正方4，五角星5。说一个数，把加起来的等于这个数的牌举起来。<br />
　　A.拼6B.拼10C.拼13<br />
　　10.自己读谜面，然后猜<br />
　　A.一个小姑娘，穿着黄衣裳，你要欺负她，她就射一枪<br />
　　B.一间小房子，有门没有窗，外面热里面冷<br />
　　11.数学填数<br />
　　2+()=13；13-()=8；3+5=()；4+6=()；8+6=()；13+8=()<br />
　　12.比67大的数说3个，比67小的数说3个<br />
　　13.幼儿园的苹果吃了一半还剩20个，幼儿园原来有多少个苹果？<br />
　　14.填数：<br />
　　其一、8()105126()7；</p>
<p>　　其二、1231351471（）（）</p>
<p>　　15.有三个杯，装三个不同量的水，加入糖后，哪杯最甜？为什么？</p>
<p>　　16.一张纸撕一次变成三张</p>
<p>　　17.一张纸撕一次撕出四个口</p>
<p>　　18.六根牙签摆出5个正方形</p>
<p>　　19.四根牙签摆出3个三角形</p>
<p>　　20.梳子除了可以梳头之外，还可以用来做什么用？</p>
<p>　　21.钢笔除了可以写字之外，还可以用来干什么？</p>
<p>　　22.假设1是学猫叫，2是蹲，3是站，4是举手，5是转圈。然后听老师指令，做出相应<br />
的动作。</p>
<p>　　23.根据要求串珠子，“黑白黑黑白白”后面接着串。</p>
<p>　　24.小明能推动汽车，为什么？</p>
<p>　　25.小明不喜欢穿高跟鞋，小明换灯泡不用梯子，小朋友你们认为小明有什么特征？</p>
<p>　　26.小红参加数学竞赛，和参加竞赛的每个人握一次手。小红一共握了39次手，问参<br />
加数学竞赛的一共有多少人？</p>
<p>　　27.评价一下自己在幼儿园里的情况</p>
<p>　　28.儿歌：老师说一遍，小朋友复述一遍：(老师只念一遍)</p>
<p>　　春天到了，花儿笑了，</p>
<p>　　夏天到了，知了叫了，</p>
<p>　　秋天到了，枫叶红了，</p>
<p>　　冬天到了，雪花飘飘。</p>
<p>　　29.河边有7只小鸭子和1只鸭妈妈要过河，其中4只小鸭子过了河，问还剩几只小鸭子<br />
？</p>
<p>　　30.公共汽车上，第一站上来5个人，第二站下去2人，第三站上来3人，问：车上剩几<br />
个人，售票阿姨卖了几张票？</p>
<p>　　31.打节奏(嗒嗒嗒嗒)问：少一拍怎么？打少二拍怎么打？少三拍怎么打？</p>
<p>　　32.我们第一次见面，还不认识你，你能向老师介绍一下你自己吗？</p>
<p>　　33.如果待会儿出去的时候，发现爸爸妈妈不见了，怎么办？</p>
<p>　　34.请你重新排列一下这四幅图的顺序，然后编成一个故事。</p>
<p>　　35.评价一下自己在幼儿园里的情况</p>
<p>　　36.春夏秋冬的区别和特征</p>
<p>　　37.你和小朋友们排成一队做操，从前面数你是第6个，从后面数你是第5个小朋友，<br />
请问一共有几个小朋友？</p>
<p>　　38.小朋友你有什么特别的爱好吗？能不能在这里表演一下。</p>
<p>　　39.妈妈今年30岁，爸爸比妈妈大3岁，想想再过5年后，爸爸比妈妈大几岁？</p>
<p>　　40.两个盒子里各有5块糖，从第一个盒子里拿出2块放入第二个盒子，现在两个盒子<br />
里一共有多少块？</p>
<p>　　41.小朋友排队，从左向右数小红排第7，从右向左数小红排第8，这一排队伍一共多<br />
少人？</p>
<p>　　42.小芳买拼音本用了6角钱，还剩4角钱，小芳原来有几角钱？合多少元？</p>
<p>　　43.黑兔、黄兔和白兔三只兔子在赛跑。黑免说：“我跑得不是最快的，但比白兔快<br />
。”请你说说，谁跑得最快？谁跑得最慢？（）跑得最快，（）跑得最慢。</p>
<p>　　44.自我介绍</p>
<p>　　指导语：小朋友。今天老师与你交朋友，你告诉我你家的情况好吗？老师问你，你听<br />
清楚，回答老师。</p>
<p>　　（1）你姓什么？叫什么名字？你今年几岁了？</p>
<p>　　（2）你家住在哪里？你家有几口人？</p>
<p>　　（3）你爸爸叫什么名字？干什么的？</p>
<p>　　（4）你妈妈叫什么名字？干什么的？你长大了想做什么？</p>
<p>　　（5）现在，你把家里的情况连起来对老师说一遍，怎么说呢？</p>
<p>　　45.一个数一个节拍，按次以适当的速度报一组数字，让孩子重复，先检测一组，通<br />
过1组，再检测下面一组．没通过再检测2组，直到七组测完为止．</p>
<p>　　（1）检测1</p>
<p>　　2468</p>
<p>　　3429</p>
<p>　　82457</p>
<p>　　298742</p>
<p>　　5672394</p>
<p>　　2534867</p>
<p>　　538712345</p>
<p>　　（2）检测2</p>
<p>　　1357911</p>
<p>　　2468101214</p>
<p>　　1567891012</p>
<p>　　369963576</p>
<p>　　985213610</p>
<p>　　215971358</p>
<p>　　79648352</p>
<p>　　46.为啥北极熊不吃企鹅？</p>
<p>　　47.一个正方形是四个角，问：在角上切了一个角之后还剩几个角？</p>
<p>　　48.常识题：鸡和鸭有什么不同？</p>
<p>　　49.小红参加数学竞赛，和参加竞赛的每个人握一次手。小红一共握了39次手，问参<br />
加数学竞赛的一共有多少人？</p>
<p>　　50.小鸡和小鸭一起在路上走，小鸭掉到坑里了，小鸡应该怎么把小鸭救上来？</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=88&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_88" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/88.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>准备复活这个博客</title>
		<link>http://www.fhand.com/blog/archives/86.html</link>
		<comments>http://www.fhand.com/blog/archives/86.html#comments</comments>
		<pubDate>Fri, 11 Jun 2010 03:19:33 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[杂七杂八]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=86</guid>
		<description><![CDATA[好久没动笔了，种种原因。
从今天开始奋发图强。要不然就要落后了。
分享收藏
]]></description>
			<content:encoded><![CDATA[<p>好久没动笔了，种种原因。<br />
从今天开始奋发图强。要不然就要落后了。</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=86&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_86" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/86.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>commons lang组件之自动生成toString()内容</title>
		<link>http://www.fhand.com/blog/archives/83.html</link>
		<comments>http://www.fhand.com/blog/archives/83.html#comments</comments>
		<pubDate>Fri, 30 Oct 2009 04:35:07 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[toString]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=83</guid>
		<description><![CDATA[问题
  希望能自动生成toString()方法
解决方案
  使用Commons Lang的ReflectionToStringBuilder或ToStringBuiler,配合ToStringBuilder可生成toString()方法
  .下面的代码显示了如何使用反射生成器(reflection builder)生成toString()方法.
  import org.apache.commons.lang.builder.ReflectionToStringBuilder;
  public String toString(){
    return ReflectionToStringBuilder.toString(this);
  }
  让toString()的内容与不断变化的类保持一致,是一项让人心烦又容易遗忘的工作.Commons Lang带有一个非常易用的工具类,
  通过反射自动完成这件麻烦事.ToStringBuilder类及其派生类ReflectionToStringBuilder能把原本臃肿的toString()方法
  浓缩成一行.更重要的是ReflectionToStringBuilder反映了对象模型未来的变化趋势.
  在有限的时间和预算条件下,面对含有上百个实体的对象模型,要保证toString()方法能实时更新几乎就是天方夜谭.如果你的类
  拥有含义明确的toString()方法,在诊断程序时将会受益非浅.通过使用ReflectionToStringBuilder类,能确保输出是正确的.
  依靠开发者手动维护toString()方法会很不可靠.
分享收藏
]]></description>
			<content:encoded><![CDATA[<p>问题</p>
<p>  希望能自动生成toString()方法</p>
<p>解决方案</p>
<p>  使用Commons Lang的ReflectionToStringBuilder或ToStringBuiler,配合ToStringBuilder可生成toString()方法<br />
  .下面的代码显示了如何使用反射生成器(reflection builder)生成toString()方法.</p>
<p>  import org.apache.commons.lang.builder.ReflectionToStringBuilder;</p>
<p>  public String toString(){<br />
    return ReflectionToStringBuilder.toString(this);<br />
  }</p>
<p>  让toString()的内容与不断变化的类保持一致,是一项让人心烦又容易遗忘的工作.Commons Lang带有一个非常易用的工具类,<br />
  通过反射自动完成这件麻烦事.ToStringBuilder类及其派生类ReflectionToStringBuilder能把原本臃肿的toString()方法<br />
  浓缩成一行.更重要的是ReflectionToStringBuilder反映了对象模型未来的变化趋势.</p>
<p>  在有限的时间和预算条件下,面对含有上百个实体的对象模型,要保证toString()方法能实时更新几乎就是天方夜谭.如果你的类<br />
  拥有含义明确的toString()方法,在诊断程序时将会受益非浅.通过使用ReflectionToStringBuilder类,能确保输出是正确的.<br />
  依靠开发者手动维护toString()方法会很不可靠.</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=83&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_83" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/83.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>native2ascii工具使用</title>
		<link>http://www.fhand.com/blog/archives/81.html</link>
		<comments>http://www.fhand.com/blog/archives/81.html#comments</comments>
		<pubDate>Wed, 14 Oct 2009 03:32:10 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[技术收集]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[native2ascii]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=81</guid>
		<description><![CDATA[在做Java开发的时候，常常会出现一些乱码，或者无法正确识别或读取的文件，比如常见的validator验证用的消息资源（properties）文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode，而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为 java正确识别的编码问题就解决了。
1、native2ascii简介：
    native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件（比如*.txt,*.ini,*.properties,*.java等等）编码转为Unicode编码。为什么要进行转码，原因在于程序的国际化。Unicode编码的定义：Unicode（统一码、万国码、单一码）是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码，以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发，1994年正式公布。随着计算机工作能力的增强，Unicode也在面世以来的十多年里得到普及。
2、获取native2ascii：
      安装了jdk后，假如你是在windows上安装，那么在jdk的安装目录下，会有一个bin目录，其中native2ascii.exe正是。
3、native2ascii的命令行的命名格式：
native2ascii -[options] [inputfile [outputfile]]
说明：
-[options]：表示命令开关，有两个选项可供选择
-reverse：将Unicode编码转为本地或者指定编码，不指定编码情况下，将转为本地编码。
-encoding encoding_name：转换为指定编码，encoding_name为编码名称。
[inputfile [outputfile]]
inputfile：表示输入文件全名。
outputfile：输出文件名。如果缺少此参数，将输出到控制台。
4、最佳实践：
     首先将JDK的bin目录加入系统变量path。在盘下建立一个test目录，在test目录里建立一个zh.txt文件，文件内容为：“熔岩”，打开“命令行提示符”，并进入C:\test目录下。下面就可以按照说明一步一步来操作，注意观察其中编码的变化。
A：将zh.txt转换为Unicode编码，输出文件到u.txt
native2ascii zh.txt u.txt
打开u.txt，内容为“\u7194\u5ca9”。
B：将zh.txt转换为Unicode编码，输出到控制台
C:\test>native2ascii zh.txt
\u7194\u5ca9
可以看到，控制台输出了“\u7194\u5ca9”。
C：将zh.txt转换为ISO8859-1编码，输出文件到i.txt
native2ascii -encoding ISO8859-1 zh.txt i.txt
打开i.txt文件，内容为“\u00c8\u00db\u00d1\u00d2”。
D：将u.txt转换为本地编码，输出到文件u_nv.txt
native2ascii -reverse u.txt u_nv.txt
打开u_nv.txt文件，内容为“熔岩”。
E：将u.txt转换为本地编码，输出到控制台
C:\test>native2ascii -reverse u.txt
熔岩
可以看到，控制台输出了“熔岩”。
F：将i.txt转换为本地编码，输出到i_nv.txt
native2ascii -reverse i.txt i_nv.txt
打开i_nv.txt文件，内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说，等于没有转，或者说思想糊涂，对命名没有理解。
G：将i.txt转换为GBK编码，输出到i_gbk.txt
native2ascii -reverse -encoding GBK i.txt i_gbk.txt
打开i_gbk.txt文件，内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说，等于没有转，或者说思想糊涂，对命名没有理解。
H：将u_nv.txt转码到本地编码GBK，输出到控制台
C:\test>native2ascii -reverse -encoding ISO8859-1 i.txt
熔岩
从这个结果看，目标达到到了，编码i.txt为ISO8859-1，转为本地编码后内容为“熔岩”。从这里应该意识到，native2ascii -reverse命令中-encoding指定的编码为源文件的编码格式。而在native2ascii 命令中-encoding指定的编码为（生成的）目标文件的编码格式。这一点非常的重要！切记！！
继续探索，新建文件12a.txt，内容“12axyz”。看看纯字母数字的编码又如何。
I：将纯字母数字的文本文件12a.txt转换为Unicode编码
native2ascii 12a.txt 12a_nv.txt
打开12a_nv.txt文件，内容为“12axyz”。
继续测试，转为ISO8859-1编码看看
C:\test>native2ascii -encoding ISO8859-1 12a.txt
12axyz
结果还是没有转码。
从结果可以得出结论：对于纯数字和字母的文本类型文件（只有ASCII码），转码前后的内容是一样的。
5、总结：
 [...]]]></description>
			<content:encoded><![CDATA[<p>在做Java开发的时候，常常会出现一些乱码，或者无法正确识别或读取的文件，比如常见的validator验证用的消息资源（properties）文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode，而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为 java正确识别的编码问题就解决了。</p>
<p>1、native2ascii简介：<br />
    native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件（比如*.txt,*.ini,*.properties,*.java等等）编码转为Unicode编码。为什么要进行转码，原因在于程序的国际化。Unicode编码的定义：Unicode（统一码、万国码、单一码）是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码，以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发，1994年正式公布。随着计算机工作能力的增强，Unicode也在面世以来的十多年里得到普及。<br />
2、获取native2ascii：<br />
      安装了jdk后，假如你是在windows上安装，那么在jdk的安装目录下，会有一个bin目录，其中native2ascii.exe正是。</p>
<p>3、native2ascii的命令行的命名格式：<br />
native2ascii -[options] [inputfile [outputfile]]</p>
<p>说明：<br />
-[options]：表示命令开关，有两个选项可供选择<br />
-reverse：将Unicode编码转为本地或者指定编码，不指定编码情况下，将转为本地编码。<br />
-encoding encoding_name：转换为指定编码，encoding_name为编码名称。</p>
<p>[inputfile [outputfile]]<br />
inputfile：表示输入文件全名。<br />
outputfile：输出文件名。如果缺少此参数，将输出到控制台。</p>
<p>4、最佳实践：<span id="more-81"></span><br />
     首先将JDK的bin目录加入系统变量path。在盘下建立一个test目录，在test目录里建立一个zh.txt文件，文件内容为：“熔岩”，打开“命令行提示符”，并进入C:\test目录下。下面就可以按照说明一步一步来操作，注意观察其中编码的变化。</p>
<p>A：将zh.txt转换为Unicode编码，输出文件到u.txt<br />
native2ascii zh.txt u.txt<br />
打开u.txt，内容为“\u7194\u5ca9”。</p>
<p>B：将zh.txt转换为Unicode编码，输出到控制台<br />
C:\test>native2ascii zh.txt<br />
\u7194\u5ca9<br />
可以看到，控制台输出了“\u7194\u5ca9”。</p>
<p>C：将zh.txt转换为ISO8859-1编码，输出文件到i.txt<br />
native2ascii -encoding ISO8859-1 zh.txt i.txt<br />
打开i.txt文件，内容为“\u00c8\u00db\u00d1\u00d2”。</p>
<p>D：将u.txt转换为本地编码，输出到文件u_nv.txt<br />
native2ascii -reverse u.txt u_nv.txt<br />
打开u_nv.txt文件，内容为“熔岩”。</p>
<p>E：将u.txt转换为本地编码，输出到控制台<br />
C:\test>native2ascii -reverse u.txt<br />
熔岩<br />
可以看到，控制台输出了“熔岩”。</p>
<p>F：将i.txt转换为本地编码，输出到i_nv.txt<br />
native2ascii -reverse i.txt i_nv.txt<br />
打开i_nv.txt文件，内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说，等于没有转，或者说思想糊涂，对命名没有理解。</p>
<p>G：将i.txt转换为GBK编码，输出到i_gbk.txt<br />
native2ascii -reverse -encoding GBK i.txt i_gbk.txt<br />
打开i_gbk.txt文件，内容为“\u00c8\u00db\u00d1\u00d2”。发现转码前后完全一样的。也就是说，等于没有转，或者说思想糊涂，对命名没有理解。</p>
<p>H：将u_nv.txt转码到本地编码GBK，输出到控制台<br />
C:\test>native2ascii -reverse -encoding ISO8859-1 i.txt<br />
熔岩<br />
从这个结果看，目标达到到了，编码i.txt为ISO8859-1，转为本地编码后内容为“熔岩”。从这里应该意识到，native2ascii -reverse命令中-encoding指定的编码为源文件的编码格式。而在native2ascii 命令中-encoding指定的编码为（生成的）目标文件的编码格式。这一点非常的重要！切记！！</p>
<p>继续探索，新建文件12a.txt，内容“12axyz”。看看纯字母数字的编码又如何。</p>
<p>I：将纯字母数字的文本文件12a.txt转换为Unicode编码<br />
native2ascii 12a.txt 12a_nv.txt<br />
打开12a_nv.txt文件，内容为“12axyz”。<br />
继续测试，转为ISO8859-1编码看看<br />
C:\test>native2ascii -encoding ISO8859-1 12a.txt<br />
12axyz<br />
结果还是没有转码。</p>
<p>从结果可以得出结论：对于纯数字和字母的文本类型文件（只有ASCII码），转码前后的内容是一样的。</p>
<p>5、总结：<br />
     native2ascii是一个非常的好转码工具，并且转码是可逆的！而其真正的含义并非本地编码——>转码为ASCII码，而是一个通用的文本文件编码转换工具。在做编码转换的时候有两类指定编码的情形，分别指输出文件编码和输入文件编码，具体可以看看最佳实践部分。</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=81&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_81" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/81.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>长假结束</title>
		<link>http://www.fhand.com/blog/archives/79.html</link>
		<comments>http://www.fhand.com/blog/archives/79.html#comments</comments>
		<pubDate>Mon, 12 Oct 2009 02:13:51 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[心情故事]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=79</guid>
		<description><![CDATA[艰难恢复状态中，嘿嘿
分享收藏
]]></description>
			<content:encoded><![CDATA[<p>艰难恢复状态中，嘿嘿</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=79&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_79" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/79.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>nginx基本配置</title>
		<link>http://www.fhand.com/blog/archives/76.html</link>
		<comments>http://www.fhand.com/blog/archives/76.html#comments</comments>
		<pubDate>Tue, 29 Sep 2009 06:16:29 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[技术收集]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=76</guid>
		<description><![CDATA[
#user  nobody;
worker_processes  8;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
    use epoll;
    worker_connections  10240;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
  [...]]]></description>
			<content:encoded><![CDATA[<p><code lang="php"><br />
#user  nobody;<br />
worker_processes  8;<br />
#error_log  logs/error.log;<br />
#error_log  logs/error.log  notice;<br />
#error_log  logs/error.log  info;<br />
pid        logs/nginx.pid;<br />
worker_rlimit_nofile 65535;<br />
events {<br />
    use epoll;<br />
    worker_connections  10240;<br />
}</p>
<p>http {<br />
    include       mime.types;<br />
    default_type  application/octet-stream;<br />
    #定义日志格式<br />
    log_format  main  '$remote_addr [$time_local] $request '<br />
                      '$status $body_bytes_sent $request_time'<br />
                      '"$http_referer" "$http_user_agent" "$http_x_forwarded_for"';</p>
<p>    access_log  logs/access.log  main;  #访问日志</p>
<p>    sendfile        on;<br />
    #tcp_nopush     on;</p>
<p>    #keepalive_timeout  0;<br />
    keepalive_timeout  65;</p>
<p>    gzip  on;<br />
    #gzip_min_length 1000;<br />
    gzip_proxied expired no-cache no-store private auth;<br />
    gzip_types text/plain application/xml text/html;<br />
    gzip_disable     "MSIE [1-6] \.";</p>
<p>    upstream local{<br />
          server 127.0.0.1:8080;       #监听本地服务端口<br />
          server 10.3.18.190:8080;    #监听另外一台机器的服务端口，切换可以试用down参数或者注释<br />
    }</p>
<p>    server {<br />
        listen       80;                      #nginx本地端口<br />
        server_name  localhost;         #本地服务</p>
<p>        #charset koi8-r;</p>
<p>        #access_log  logs/host.access.log  main;</p>
<p>        #location / {<br />
        #    root   html;<br />
        #    index  index.html index.htmi;<br />
        #}</p>
<p>        #error_page  404              /404.html;</p>
<p>        # redirect server error pages to the static page /50x.html<br />
        #<br />
        error_page   500 502 503 504  /50x.html;<br />
        location = /50x.html {<br />
            root   html;<br />
        }</p>
<p>    # proxy request to resin<br />
    location / {<br />
        proxy_pass http://local;<br />
                proxy_set_header   Host             $host;<br />
                proxy_set_header   X-Real-IP        $remote_addr;<br />
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;   #后端服务获取用户真正ip<br />
                #允许客户端请求的最大的单个文件字节数<br />
                client_max_body_size       10m;<br />
                #缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户<br />
                client_body_buffer_size    128k;<br />
                client_body_temp_path      /data/client_body_temp;<br />
                #跟后端服务器连接的超时时间_发起握手等候响应超时时间<br />
                proxy_connect_timeout      90;<br />
                #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据<br />
                proxy_send_timeout         90;<br />
                #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理<br />
                proxy_read_timeout         90;<br />
                #代理请求缓存区_这个缓存区间会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可<br />
                proxy_buffer_size          4k;<br />
                proxy_buffers              4 32k;  #同上 告诉Nginx保存单个用的几个Buffer 最大用多大空间<br />
                proxy_busy_buffers_size    64k; #如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2<br />
                proxy_temp_file_write_size 64k; #proxy缓存临时文件的大小<br />
                proxy_temp_path            /data/proxy_temp;<br />
    }<br />
    location /nginx-profiler {<br />
        stub_status     on;<br />
        access_log      on;<br />
        auth_basic      "NginxStatus";<br />
    }<br />
}<br />
}<br />
</code></p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=76&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_76" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/76.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>做好份内的事情</title>
		<link>http://www.fhand.com/blog/archives/74.html</link>
		<comments>http://www.fhand.com/blog/archives/74.html#comments</comments>
		<pubDate>Sat, 26 Sep 2009 00:49:25 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[心情故事]]></category>
		<category><![CDATA[发泄]]></category>
		<category><![CDATA[心情]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=74</guid>
		<description><![CDATA[呆在一个产品驱动的公司里，技术是没有地位的，因为技术说了不算话，做好了每人表扬你，做坏了挨骂的时候倒是少不了，这不奇怪，每人每天都在经历着这些，习惯了就好，挨骂完了郁闷几天，然后工作继续。
其实，产品为什么纠结技术呢，我拍着胸脯说我的功能性流程没问题就行了啊，你的数据减低了管我屁事，自己找原因去。都有哪些东西，自己都搞不明白，非得让技术来被黑锅，fuck，其实有些人的头脑实际上也不怎么地，位居高官有啥了不起的，为什么非得扯破脸皮才算完呢。。。。
两站合并，本来就问题多多，多事之秋。
分享收藏
]]></description>
			<content:encoded><![CDATA[<p>呆在一个产品驱动的公司里，技术是没有地位的，因为技术说了不算话，做好了每人表扬你，做坏了挨骂的时候倒是少不了，这不奇怪，每人每天都在经历着这些，习惯了就好，挨骂完了郁闷几天，然后工作继续。<br />
其实，产品为什么纠结技术呢，我拍着胸脯说我的功能性流程没问题就行了啊，你的数据减低了管我屁事，自己找原因去。都有哪些东西，自己都搞不明白，非得让技术来被黑锅，fuck，其实有些人的头脑实际上也不怎么地，位居高官有啥了不起的，为什么非得扯破脸皮才算完呢。。。。<br />
两站合并，本来就问题多多，多事之秋。</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=74&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_74" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/74.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MYSQL创建用户和权限相关</title>
		<link>http://www.fhand.com/blog/archives/72.html</link>
		<comments>http://www.fhand.com/blog/archives/72.html#comments</comments>
		<pubDate>Tue, 22 Sep 2009 14:35:43 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[技术收集]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.fhand.com/blog/?p=72</guid>
		<description><![CDATA[创建用户并授权
GRANT语句的语法看上去像这样：
GRANT privileges (columns)
ON what
TO user IDENTIFIED BY &#8220;password&#8221;
WITH GRANT OPTION
MySQL 赋予用户权限命令的简单格式可概括为：
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户，查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'

或者，用一条 MySQL 命令来替代：

grant select, insert, update, delete on testdb.* to common_user@'%'

二、grant 数据库开发人员，创建表、索引、视图、存储过程、函数等权限。

grant 创建、修改、删除 MySQL 数据表结构权限:

grant create on testdb.* [...]]]></description>
			<content:encoded><![CDATA[<p>创建用户并授权<br />
GRANT语句的语法看上去像这样：<br />
GRANT privileges (columns)<br />
ON what<br />
TO user IDENTIFIED BY &#8220;password&#8221;<br />
WITH GRANT OPTION</p>
<p>MySQL 赋予用户权限命令的简单格式可概括为：<br />
grant 权限 on 数据库对象 to 用户<br />
一、grant 普通数据用户，查询、插入、更新、删除 数据库中所有表数据的权利。<br />
<code lang="mysql"><br />
grant select on testdb.* to common_user@'%'<br />
grant insert on testdb.* to common_user@'%'<br />
grant update on testdb.* to common_user@'%'<br />
grant delete on testdb.* to common_user@'%'<br />
</code><br />
或者，用一条 MySQL 命令来替代：<br />
<code lang="mysql"><br />
grant select, insert, update, delete on testdb.* to common_user@'%'<br />
</code><br />
二、grant 数据库开发人员，创建表、索引、视图、存储过程、函数等权限。<br />
<span id="more-72"></span><br />
grant 创建、修改、删除 MySQL 数据表结构权限:<br />
<code lang="mysql"><br />
grant create on testdb.* to developer@'192.168.0.%';<br />
grant alter  on testdb.* to developer@'192.168.0.%';<br />
grant drop   on testdb.* to developer@'192.168.0.%';<br />
</code><br />
grant 操作 MySQL 外键权限。 </p>
<p>grant references on testdb.* to developer@&#8217;192.168.0.%&#8217;;</p>
<p>grant 操作 MySQL 临时表权限。 </p>
<p>grant create temporary tables on testdb.* to developer@&#8217;192.168.0.%&#8217;;</p>
<p>grant 操作 MySQL 索引权限。 </p>
<p>grant index on  testdb.* to developer@&#8217;192.168.0.%&#8217;;</p>
<p>grant 操作 MySQL 视图、查看视图源代码 权限。 </p>
<p>grant create view on testdb.* to developer@&#8217;192.168.0.%&#8217;;<br />
grant show   view on testdb.* to developer@&#8217;192.168.0.%&#8217;;</p>
<p>grant 操作 MySQL 存储过程、函数 权限。 </p>
<p>grant create routine on testdb.* to developer@&#8217;192.168.0.%&#8217;;  &#8212; now, can show procedure status<br />
grant alter  routine on testdb.* to developer@&#8217;192.168.0.%&#8217;;  &#8212; now, you can drop a procedure<br />
grant execute        on testdb.* to developer@&#8217;192.168.0.%&#8217;;<br />
三、grant 普通 DBA 管理某个 MySQL 数据库的权限。<br />
grant all privileges on testdb to dba@&#8217;localhost&#8217;<br />
其中，关键字 “privileges” 可以省略。</p>
<p>四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。<br />
grant all on *.* to dba@&#8217;localhost&#8217;<br />
五、MySQL grant 权限，分别可以作用在多个层次上。<br />
1. grant 作用在整个 MySQL 服务器上：</p>
<p>grant select on *.* to dba@localhost; &#8212; dba 可以查询 MySQL 中所有数据库中的表。<br />
grant all    on *.* to dba@localhost; &#8212; dba 可以管理 MySQL 中的所有数据库<br />
2. grant 作用在单个数据库上： </p>
<p>grant select on testdb.* to dba@localhost; &#8212; dba 可以查询 testdb 中的表。</p>
<p>3. grant 作用在单个数据表上： </p>
<p>grant select, insert, update, delete on testdb.orders to dba@localhost;</p>
<p>4. grant 作用在表中的列上： </p>
<p>grant select(id, se, rank) on testdb.apache_log to dba@localhost;</p>
<p>5. grant 作用在存储过程、函数上： </p>
<p>grant execute on procedure testdb.pr_add to &#8216;dba&#8217;@'localhost&#8217;<br />
grant execute on function  testdb.fn_add to &#8216;dba&#8217;@'localhost&#8217;<br />
六、查看 MySQL 用户权限<br />
查看当前用户（自己）权限：</p>
<p>show grants;<br />
查看其他 MySQL 用户权限：</p>
<p>show grants for dba@localhost;<br />
七、撤销已经赋予给 MySQL 用户权限的权限。<br />
revoke 跟 grant 的语法差不多，只需要把关键字 “to” 换成 “from” 即可：</p>
<p>grant  all on *.* to   dba@localhost;<br />
revoke all on *.* from dba@localhost;<br />
八、MySQL grant、revoke 用户权限注意事项<br />
1. grant, revoke 用户权限后，该用户只有重新连接 MySQL 数据库，权限才能生效。</p>
<p>2. 如果想让授权的用户，也可以将这些权限 grant 给其他用户，需要选项 “grant option“</p>
<p>grant select on testdb.* to dba@localhost with grant option;<br />
这个特性一般用不到。实际中，数据库权限最好由 DBA 来统一管理。</p>
<p class="akst_link"><a href="http://www.fhand.com/blog/?p=72&amp;akst_action=share-this"  title="推荐，收藏到QQ书签，del.icio.us等等。" id="akst_link_72" class="akst_share_link" rel="noindex nofollow">分享收藏</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.fhand.com/blog/archives/72.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
