原文:http://www.cnblogs.com/slaughter/archive/2007/03/15/675791.html
http://lynsead.spaces.live.com/Blog/cns!1pN1cYMeTzpoDjzM1P1IqDFg!135.entry
perl对中文的处理(encode,decode)
最近在处理中文时遇到乱码的问题,google了一下,发现下面这篇文章。茅塞顿开!
Perl从5.6开始已经开始在内部使用utf8编码来表示字符,也就是说对中文以及其他语言字符的处理应该是完全没有问题的。我们只需要利用好Encode这个模块便能充分发挥Perl的utf8字符的优势了。
下面就以中文文本的处理为例进行说明,比如有一个字符串"测试文本",我们想要把这个中文字符串拆成单个字符,可以这样写:
use Encode;
$dat="测试文本";
$str=decode("gb2312",$dat);
@chars=split //,$str;
foreach $char (@chars) {
print encode("gb2312",$char),"\n";
}
结果大家试一试就知道了,应该是令人满意的。
这里主要用到了Encode模块的decode、encode函数。要了解这两个函数的作用我们需要清楚几个概念:
1、Perl字符串是使用utf8编码的,它由Unicode字符组成而不是单个字节,每个utf8编码的Unicode字符占1~4个字节(变长)。
2、进入或离开Perl处理环境(比如输出到屏幕、读入和保存文件等等)时不是直接使用Perl字符串,而需要把Perl字符串转换成字节流,转换过程中使用何种编码方式完全取决于你(或者由Perl代劳)。一旦Perl字符串向字节流的编码完成,字符的概念就不存在了,变成了纯粹的字节组合,如何解释这些组合则是你自己的工作。
我们可以看出如果想要Perl按照我们的字符概念来对待文本,文本数据就需要一直用Perl字符串的形式存放。但是我们平时写出的每个字符一般都被作为纯ASCII字符保存(包括在程序中明文写出的字符串),也就是字节流的形式,这里就需要encode和decode函数的帮助了。
encode函数顾名思义是用来编码Perl字符串的。它将Perl字符串中的字符用指定的编码格式编码,最终转化为字节流的形式,因此和Perl处理环境之外的事物打交道经常需要它。其格式很简单:
$octets = encode(ENCODING, $string [, CHECK])
$string: Perl字符串
encoding: 是给定的编码方式
$octets: 是编码之后的字节流
check: 表示转换时如何处理畸变字符(也就是Perl认不出来的字符)。一般不需使用
编码方式视语言环境的不同有很大变化,默认可以识别utf8、ascii、ascii-ctrl、
iso-8859-1等。
decode函数则是用来解码字节流的。它按照你给出的编码格式解释给定的字节流,将其转化为使用utf8编码的Perl字符串,一般来说从终端或者文件取得的文本数据都应该用decode转换为Perl字符串的形式。它的格式为:
$string = decode(ENCODING, $octets [, CHECK])
$string、ENCODING、$octets和CHECK的含义同上。
现在就很容易理解上面写的那段程序了。因为字符串是用明文写出的,存放的时候已经是字节流形式,丧失了本来的意义,所以首先就要用 decode函数将其转换为Perl字符串,由于汉字一般都用gb2312格式编码,这里decode也要使用gb2312编码格式。转换完成后Perl 对待字符的行为就和我们一样了,平时对字符串进行操作的函数基本上都能正确对字符进行处理,除了那些本来就把字符串当成一堆字节的函数(如vec、 pack、unpack等)。于是split就能把字符串切成单个字符了。最后由于在输出的时候不能直接使用utf8编码的字符串,还需要将切割后的字符用encode函数编码为gb2312格式的字节流,再用print输出。
Jeremy's Blog
work, study, life ..........
Friday, April 19, 2013
Wednesday, April 18, 2012
Debian 无线网卡配置
今天突然发现本本的无线网卡不能用,按照系统帮助手册检查了Network Setting 中并没有Wireless选项,于是安装了wireless-tools。
$/sbin/iwconfig lo no wireless extensions. eth0 no wireless extensions. 根本没有检测到无线网卡。
检查日志: $ dmesg | grep wireless
[ 7.489538] Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
[ 7.489801] iwlwifi 0000:05:00.0: Detected Intel(R) Centrino(R) Wireless-N 1000 BGN, REV=0x6C
[ 5807.309322] Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
[ 5807.309780] iwlwifi 0000:05:00.0: Detected Intel(R) Centrino(R) Wireless-N 1000 BGN, REV=0x6C
[ 5807.358737] iwlwifi 0000:05:00.0: New firmware can be obtained from http://www.intellinuxwireless.org/.
$ lspci | grep Wire
05:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000
系统已经检查到无线网卡信息。
在Debian 官方wiki上 找到《Intel Wireless WiFi Link, Wireless-N, Advanced-N, Ultimate-N devices》 查找到测试版支持的无线芯片组。
1. 修改仓库,编辑/etc/apt/sources.list,填入:
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
2. 更新并安装fireware-iwlwifi
# aptitude update
# aptitude install firmware-iwlwifi wireless-tools
3. 加载iwlagn支持驱动
# modprobe -r iwlagn
# modprobe iwlagn
在系统设置-->网络设置可以看到 Wireless项,注意 "Airplan mode" 处于关闭状态。
利用iwconfig 可以看到:
lo no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:"xxxxxxxx" Mode:Managed Frequency:2.472 GHz Access Point: F8:D1:11:81:C7:CC Bit Rate=1 Mb/s Tx-Power=14 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=70/70 Signal level=-35 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:15 Invalid misc:2247 Missed beacon:0
eth0 no wireless extensions.
现在可以无线了。
$/sbin/iwconfig lo no wireless extensions. eth0 no wireless extensions. 根本没有检测到无线网卡。
检查日志: $ dmesg | grep wireless
[ 7.489538] Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
[ 7.489801] iwlwifi 0000:05:00.0: Detected Intel(R) Centrino(R) Wireless-N 1000 BGN, REV=0x6C
[ 5807.309322] Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
[ 5807.309780] iwlwifi 0000:05:00.0: Detected Intel(R) Centrino(R) Wireless-N 1000 BGN, REV=0x6C
[ 5807.358737] iwlwifi 0000:05:00.0: New firmware can be obtained from http://www.intellinuxwireless.org/.
$ lspci | grep Wire
05:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000
系统已经检查到无线网卡信息。
在Debian 官方wiki上 找到《Intel Wireless WiFi Link, Wireless-N, Advanced-N, Ultimate-N devices》 查找到测试版支持的无线芯片组。
1. 修改仓库,编辑/etc/apt/sources.list,填入:
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
2. 更新并安装fireware-iwlwifi
# aptitude update
# aptitude install firmware-iwlwifi wireless-tools
3. 加载iwlagn支持驱动
# modprobe -r iwlagn
# modprobe iwlagn
在系统设置-->网络设置可以看到 Wireless项,注意 "Airplan mode" 处于关闭状态。
利用iwconfig 可以看到:
lo no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:"xxxxxxxx" Mode:Managed Frequency:2.472 GHz Access Point: F8:D1:11:81:C7:CC Bit Rate=1 Mb/s Tx-Power=14 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=70/70 Signal level=-35 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:15 Invalid misc:2247 Missed beacon:0
eth0 no wireless extensions.
现在可以无线了。
Saturday, April 14, 2012
什么才是真正的孝顺(转)
什么才是真正的孝顺(果彦法师)
孝顺,可分为二种,一种是世间的孝顺,另一种为出世间的孝顺.所谓世间的孝顺,即是儿女为了报答父母养育之恩,长大之后侍奉父母,让他们快快乐乐.也有六亲之间后辈对长辈的孝顺.过去未来现在三世诸佛净业正因之中首先说的第一条就是要孝养父母,奉事师长,慈心不杀,修十善业.所以,孝顺是我们为人的基本,孝顺之人得到众人称赞,反之,忤逆之人众人指责;天地鬼神敬重孝顺父母之人,而惩罚不孝之辈!
世间孝顺之中,也有真孝与假孝之分.何为真孝?发自内心的尊重报答,并从行动上落实者称之为真孝;而假孝虽然从外表上看则和真孝无异,但其内心若是只为了别人的评议,实际上并不想这样去做,但为了不遭到众人的指责而伪做孝顺,此则称之为假孝.真孝之人有大福报,而假孝之人虽辛苦一场,但由于只是逢场作戏,发心不真,因而也就没有什么福报.如果外面之人不明其中原因,对假孝之人称赞不绝,那假孝之人由于受不起这种名声,便会有不祥的事情发生.因此,我们对于父母以及长辈,要发自内心真正的报恩,恭敬供养承侍,做名副其实的孝顺之人.
只是世间之孝顺,已得到很大的福报,何况出世间的孝顺呢?何谓出世间的孝顺?所谓出世间的孝顺,则是为了帮助一切父母众生出离六道生死轮回,而毅然舍家离眷出家修行,成就之后回来度化他们的伟大行为.与世间孝顺相比较,出世间的孝顺方可真正报得父母恩情 佛说父母恩难报经 后汉安息国三藏安世高译 闻如是。一时婆伽婆。在舍卫城。祇树给孤独园。尔时世尊。告诸比丘。父母于子。有大增益。乳哺长养。随时将育。四大得成。右肩负父。左肩负母。经历千年。正使便利背上。然无有怨心于父母。此子犹不足报父母恩。若父母无信教令信。获安隐处。无戒与戒教授。获安隐处。不闻使闻教授。获安隐处。悭贪教令好施。劝乐教授。获安隐处。无智慧教令黠慧。劝乐教授。护安隐处。如是信如来至真等正觉明行成为善逝世间解无上士道法御天人师号佛世尊。教信法教授。获安隐处。诸法甚深。现身获果。义味甚深。如是智者。明通此行。教令信圣众。如来圣众。甚清净行。直不曲常和合。法法成就。戒成就。三昧成就。智慧成就。解脱成就。解脱见慧成就。所谓圣众。四双八辈。是谓如来圣众。最尊最贵。当尊奉敬仰。是世间无上福田。如是诸子。当教父母行慈。诸比丘有二子。所生子所养子。是谓比丘有二子。是故诸比丘。当学所生子。口出法味。如是诸比丘。当作是学。尔时诸比丘。闻佛所说。欢喜奉行 由佛所说之经文我们可以知道,父母之深恩非是世间的孝顺可以报答的.然而,孝心却是可贵的,虽然只是世间的孝顺,也已获得很大的果报,得以人天之善趣福报!那出世间的孝顺则是真正的报答父母深恩.以佛法来铙益于他们,让他们也都可以脱离三界苦宅,证得涅槃盘之乐!
世间之人为无明所覆,颠倒黑白,他们赞叹世间的孝顺行为,而对于去出家求道以出世间的法来报答亲情并饶益一切众生的行为则百般指责.说他们不孝不顺,自私自利等等,目的是想阻止其的出家之念.我们须知,世间之孝顺是短暂的,给不了亲人永久的快乐,而出世间的孝顺则可让他们到达涅槃之乐.因此,我们有缘的佛弟子应当实行出世间的孝顺,不仅是让亲人,并让所有众生都得到永远的快乐.
孝顺,并不止于外表的尊重,内心的恭敬才是最为重要的.有了发自内心的这份孝顺,我们从而对一切如母如父之众生发起悲心,为了让他们得到解脱,先得出家苦行成就自己,再回来以佛法之甘露润酝报答众生.这,就是真正的孝顺!
孝顺,可分为二种,一种是世间的孝顺,另一种为出世间的孝顺.所谓世间的孝顺,即是儿女为了报答父母养育之恩,长大之后侍奉父母,让他们快快乐乐.也有六亲之间后辈对长辈的孝顺.过去未来现在三世诸佛净业正因之中首先说的第一条就是要孝养父母,奉事师长,慈心不杀,修十善业.所以,孝顺是我们为人的基本,孝顺之人得到众人称赞,反之,忤逆之人众人指责;天地鬼神敬重孝顺父母之人,而惩罚不孝之辈!
世间孝顺之中,也有真孝与假孝之分.何为真孝?发自内心的尊重报答,并从行动上落实者称之为真孝;而假孝虽然从外表上看则和真孝无异,但其内心若是只为了别人的评议,实际上并不想这样去做,但为了不遭到众人的指责而伪做孝顺,此则称之为假孝.真孝之人有大福报,而假孝之人虽辛苦一场,但由于只是逢场作戏,发心不真,因而也就没有什么福报.如果外面之人不明其中原因,对假孝之人称赞不绝,那假孝之人由于受不起这种名声,便会有不祥的事情发生.因此,我们对于父母以及长辈,要发自内心真正的报恩,恭敬供养承侍,做名副其实的孝顺之人.
只是世间之孝顺,已得到很大的福报,何况出世间的孝顺呢?何谓出世间的孝顺?所谓出世间的孝顺,则是为了帮助一切父母众生出离六道生死轮回,而毅然舍家离眷出家修行,成就之后回来度化他们的伟大行为.与世间孝顺相比较,出世间的孝顺方可真正报得父母恩情 佛说父母恩难报经 后汉安息国三藏安世高译 闻如是。一时婆伽婆。在舍卫城。祇树给孤独园。尔时世尊。告诸比丘。父母于子。有大增益。乳哺长养。随时将育。四大得成。右肩负父。左肩负母。经历千年。正使便利背上。然无有怨心于父母。此子犹不足报父母恩。若父母无信教令信。获安隐处。无戒与戒教授。获安隐处。不闻使闻教授。获安隐处。悭贪教令好施。劝乐教授。获安隐处。无智慧教令黠慧。劝乐教授。护安隐处。如是信如来至真等正觉明行成为善逝世间解无上士道法御天人师号佛世尊。教信法教授。获安隐处。诸法甚深。现身获果。义味甚深。如是智者。明通此行。教令信圣众。如来圣众。甚清净行。直不曲常和合。法法成就。戒成就。三昧成就。智慧成就。解脱成就。解脱见慧成就。所谓圣众。四双八辈。是谓如来圣众。最尊最贵。当尊奉敬仰。是世间无上福田。如是诸子。当教父母行慈。诸比丘有二子。所生子所养子。是谓比丘有二子。是故诸比丘。当学所生子。口出法味。如是诸比丘。当作是学。尔时诸比丘。闻佛所说。欢喜奉行 由佛所说之经文我们可以知道,父母之深恩非是世间的孝顺可以报答的.然而,孝心却是可贵的,虽然只是世间的孝顺,也已获得很大的果报,得以人天之善趣福报!那出世间的孝顺则是真正的报答父母深恩.以佛法来铙益于他们,让他们也都可以脱离三界苦宅,证得涅槃盘之乐!
世间之人为无明所覆,颠倒黑白,他们赞叹世间的孝顺行为,而对于去出家求道以出世间的法来报答亲情并饶益一切众生的行为则百般指责.说他们不孝不顺,自私自利等等,目的是想阻止其的出家之念.我们须知,世间之孝顺是短暂的,给不了亲人永久的快乐,而出世间的孝顺则可让他们到达涅槃之乐.因此,我们有缘的佛弟子应当实行出世间的孝顺,不仅是让亲人,并让所有众生都得到永远的快乐.
孝顺,并不止于外表的尊重,内心的恭敬才是最为重要的.有了发自内心的这份孝顺,我们从而对一切如母如父之众生发起悲心,为了让他们得到解脱,先得出家苦行成就自己,再回来以佛法之甘露润酝报答众生.这,就是真正的孝顺!
FreeBSD 忘记root密码
1. 进入单用户模式 single mode
2. fsck 修复文件系统。这个是必须的,否则无法挂载/
3. mount -u /
4. mount -a
5. passwd
6. exit
如果执行passwd出现 pam_chauthtok(): error in service module, 请重复2-5!
2. fsck 修复文件系统。这个是必须的,否则无法挂载/
3. mount -u /
4. mount -a
5. passwd
6. exit
如果执行passwd出现 pam_chauthtok(): error in service module, 请重复2-5!
背诵的三个原则和三重境界
I must do it
I can do it
背诵英语文章是迅速提高英语水平的一个重要途径,可是在背诵时也要掌握正确的方法并且要达到一定的境界才能显出效果来。首先,背诵要遵循几个基本的原则:
1、精 背诵的文章不一定要很多,50篇就差不多了,但是一定要精,要系统。推荐新概念英语或李阳快捷英语。
2、慢 背诵不可求急,慢慢的静下心来一句一句的背,一篇一篇的背!
3、准 一是读音要准,一定要跟着录音读准,二是背诵时要准,不可只背个大概!
其次,背诵英语也有三个境界:
第一个境界,手不释卷!背诵达到第一个境界时,就是整天手不释卷心无杂念不停背诵。
第二个境界,手中无书,心中有书!经过第一个阶段的背诵后,对一本书的内容已经了然于心,此时背诵就不需要拿书了,一有空余时间就随便从记忆中选择几篇文章来背诵!
第三个境界,手中无书心中亦无书,人书合一!这也是背诵的最高境界了,达到这个境界时,就不需要局限于以前所背的书本了,可以随心所欲的发挥以前所背的内容进行即兴演说!
I can do it
背诵英语文章是迅速提高英语水平的一个重要途径,可是在背诵时也要掌握正确的方法并且要达到一定的境界才能显出效果来。首先,背诵要遵循几个基本的原则:
1、精 背诵的文章不一定要很多,50篇就差不多了,但是一定要精,要系统。推荐新概念英语或李阳快捷英语。
2、慢 背诵不可求急,慢慢的静下心来一句一句的背,一篇一篇的背!
3、准 一是读音要准,一定要跟着录音读准,二是背诵时要准,不可只背个大概!
其次,背诵英语也有三个境界:
第一个境界,手不释卷!背诵达到第一个境界时,就是整天手不释卷心无杂念不停背诵。
第二个境界,手中无书,心中有书!经过第一个阶段的背诵后,对一本书的内容已经了然于心,此时背诵就不需要拿书了,一有空余时间就随便从记忆中选择几篇文章来背诵!
第三个境界,手中无书心中亦无书,人书合一!这也是背诵的最高境界了,达到这个境界时,就不需要局限于以前所背的书本了,可以随心所欲的发挥以前所背的内容进行即兴演说!
Subscribe to:
Posts (Atom)
