[转载]javascript固有编码方法比较 escape、encodeURI和encodeURIComponent
| December 24, 2008 10:53 | root | Via 本站原创
转载来源:http://www.160km.com/bear/?p=103
javascript对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。天空
例如:<script language=”javascript”>document.write(’<a href=”http://www.160km.com/?logout&aid=7& u=’+encodeURIComponent(”http://www.160km.com/bruce42″)+’”>退出</a& gt;’);</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI(”http://www.160km.com/do/s?word=小福&ct=21″);
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,’,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ‘,(,),*,-,.,_,~,0-9,a-z,A-Z
javascript对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。天空
例如:<script language=”javascript”>document.write(’<a href=”http://www.160km.com/?logout&aid=7& u=’+encodeURIComponent(”http://www.160km.com/bruce42″)+’”>退出</a& gt;’);</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI(”http://www.160km.com/do/s?word=小福&ct=21″);
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,’,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ‘,(,),*,-,.,_,~,0-9,a-z,A-Z
通过Linuxshell查给每个人发了多少条短信,sort uniq -c
| December 23, 2008 19:39 | root | Via 本站原创
最近,手机费用暴涨,我得查查短信为何这么多,进入移动网站,得到一个短信清单如下:
短信费 81.05
彩信费 1.80
GPRS流量费 273.33
本地基本话费 1.99
国内长途费 28.03
必选套餐费 20.00
福娃音乐计划套餐费 6.00
费用合计 412.20
短信总记录数 1114
免费短信记录数 300
重点查短信:
发送时间 通信类型 对方号码 基本通话费
短信条数 短信号码
两个大头,共发短信552:
得到完美的结论。。。呵呵呵!
短信费 81.05
彩信费 1.80
GPRS流量费 273.33
本地基本话费 1.99
国内长途费 28.03
必选套餐费 20.00
福娃音乐计划套餐费 6.00
费用合计 412.20
短信总记录数 1114
免费短信记录数 300
重点查短信:
发送时间 通信类型 对方号码 基本通话费
11月01日00:00:33 普通短信 861377489428* 0.00
11月01日00:01:16 普通短信 861358196226* 0.00
11月01日00:04:53 普通短信 861377489428* 0.00
11月01日00:08:03 普通短信 861386815989* 0.00
通过editplus按住:alt+鼠标选取出号码,丢如Linux,通过命令:cat mobile.txt|sort > mobile_number11月01日00:01:16 普通短信 861358196226* 0.00
11月01日00:04:53 普通短信 861377489428* 0.00
11月01日00:08:03 普通短信 861386815989* 0.00
cat mobile.txt |sort |uniq -c
短信条数 短信号码
65 861350110466*
44 861365766558*
94 861377489428*
10 861381000687*
239 861386815989*
44 861365766558*
94 861377489428*
10 861381000687*
239 861386815989*
两个大头,共发短信552:
[xiangdong2@101/udp mobile]$ cat sort_mobile_number.txt |grep 861358196226*|wc
313 313 4695 这是**的
[xiangdong2@101/udp mobile]$ cat sort_mobile_number.txt |grep 861386815989*|wc
239 239 3585 这个是**点的
313 313 4695 这是**的
[xiangdong2@101/udp mobile]$ cat sort_mobile_number.txt |grep 861386815989*|wc
239 239 3585 这个是**点的
得到完美的结论。。。呵呵呵!
Linux如何关闭防火墙和查看防火墙的具体情况
| December 22, 2008 15:17 | root | Via 本站原创
1.Linux下关闭和开启防火墙
1) 重启后生效
2) 即时生效,重启后失效
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 字串6
2.查看防火墙:
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 字串6
[root@101/udp socket_interface]# /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
2.查看防火墙:
iptables -L
centos下安装飞信机器人
| December 22, 2008 13:53 | root | Via 本站原创
1.下载程序:
去这个网站下载:http://www.it-adv.net/inde...,然后:LINUX X86/32版全新发布fetion20080910048-linux.tar.gz,下载地址:
http://www.it-adv.net/feti...
如果是64位的请下载:LINUX X86/64版全新发布fetion20080910047-lin64.tar.gz
下载地址:
http://www.it-adv.net/feti...
2.下载链接库库:
LINUX X86/32支持库下载:解压到同级目录,以LD_LIBRARY_PATH=. ./fetion的形式运行
下载地址:
http://www.it-adv.net/feti...
解压到:/home/xiangdong2/sms/library32
如果是64位的请下载:
LINUX X86/64支持库下载:解压到同级目录,以LD_LIBRARY_PATH=. ./fetion的形式运行
http://www.it-adv.net/feti...
export LD_LIBRARY_PATH=/home/xiangdong2/sms/library32 //这一步很重要,添加链接库到环境变量LD_LIBRARY_PATH中
cd install #注:自动解到install目录
./fetion -u xxxxxxxx #运行即可 -u 后面为您的飞信账号,如:
登陆... 服务器返回数据中无法定位sipc-proxy
这个问题我也不清楚,呵呵!
你也可以把:/home/xiangdong2/sms/library32 的所有的东西放到fetion的目录里面,然后直接运行:

web飞信:
http://www.websafeguard.cn...
资料:
telnet 221.176.31.36 8080
把那两个lib文件cp到lib目录下:直接运行:./fetion
netstat -ntp:
正确应该是:
tcp 0 0 10.1.27.61:33684 221.176.31.36:8080 ESTABLISHED 968/fetion
Debug:
LD_LIBRARY_PATH=. ./fetion -u 13811461081 -p 001002 -d
在当前目下生成:13811461081_debug.log 类似文件名称!
FreeBSD:
FreeBSD的支持库直接从ports安装揪可以: cd /usr/ports/devel/ace && make install clean
下载:FreeBSD最新程序:freebsd 版飞信 20081128
地址:http://www.it-adv.net/feti...
如下:
下载cacti 插件.
cacti 页面导入插件
将应用程序解压到/data/monitor/目录
将支持库直接解压到/data/monitor/目录
cp lib*so* /usr/lib/
ln -s /usr/lib/libcrypto.so.0.9.7a /usr/lib/libcrypto.so.4
ln -s /usr/lib/libssl.so.0.9.7a /usr/lib/libssl.so.4
以下配置为linux 配置。freebsd 中没有配置也一样可以运行
设定lib库配置文件
#vi /etc/ld.so.conf
#增加一条
/usr/lib/
#保存退出后,执行
#ldconfig
先编译麻烦:
pkg_add -r ace
站长提供的是在:freebsd7.0开发的一个二进制文件,6.2的容易出现问题啊。。!
去这个网站下载:http://www.it-adv.net/inde...,然后:LINUX X86/32版全新发布fetion20080910048-linux.tar.gz,下载地址:
http://www.it-adv.net/feti...
如果是64位的请下载:LINUX X86/64版全新发布fetion20080910047-lin64.tar.gz
下载地址:
http://www.it-adv.net/feti...
2.下载链接库库:
LINUX X86/32支持库下载:解压到同级目录,以LD_LIBRARY_PATH=. ./fetion的形式运行
下载地址:
http://www.it-adv.net/feti...
解压到:/home/xiangdong2/sms/library32
如果是64位的请下载:
LINUX X86/64支持库下载:解压到同级目录,以LD_LIBRARY_PATH=. ./fetion的形式运行
http://www.it-adv.net/feti...
export LD_LIBRARY_PATH=/home/xiangdong2/sms/library32 //这一步很重要,添加链接库到环境变量LD_LIBRARY_PATH中
tar xzf fetion200XXXXXXXX-linux.tar.gz
cd install #注:自动解到install目录
./fetion -u xxxxxxxx #运行即可 -u 后面为您的飞信账号,如:
./fetion -u 660157287
请输入密码:登陆... 服务器返回数据中无法定位sipc-proxy
这个问题我也不清楚,呵呵!
你也可以把:/home/xiangdong2/sms/library32 的所有的东西放到fetion的目录里面,然后直接运行:
LD_LIBRARY_PATH=. ./fetion -u 660157287 -p ****密码****
LD_LIBRARY_PATH=. ./fetion -u 13811461081 -p ****密码****

web飞信:
http://www.websafeguard.cn...
资料:
telnet 221.176.31.36 8080
把那两个lib文件cp到lib目录下:直接运行:./fetion
netstat -ntp:
正确应该是:
tcp 0 0 10.1.27.61:33684 221.176.31.36:8080 ESTABLISHED 968/fetion
Debug:
LD_LIBRARY_PATH=. ./fetion -u 13811461081 -p 001002 -d
在当前目下生成:13811461081_debug.log 类似文件名称!
FreeBSD:
FreeBSD的支持库直接从ports安装揪可以: cd /usr/ports/devel/ace && make install clean
下载:FreeBSD最新程序:freebsd 版飞信 20081128
地址:http://www.it-adv.net/feti...
如下:
下载cacti 插件.
cacti 页面导入插件
将应用程序解压到/data/monitor/目录
将支持库直接解压到/data/monitor/目录
cp lib*so* /usr/lib/
ln -s /usr/lib/libcrypto.so.0.9.7a /usr/lib/libcrypto.so.4
ln -s /usr/lib/libssl.so.0.9.7a /usr/lib/libssl.so.4
以下配置为linux 配置。freebsd 中没有配置也一样可以运行
设定lib库配置文件
#vi /etc/ld.so.conf
#增加一条
/usr/lib/
#保存退出后,执行
#ldconfig
先编译麻烦:
pkg_add -r ace
站长提供的是在:freebsd7.0开发的一个二进制文件,6.2的容易出现问题啊。。!
[原创]unset函数内存分配和销毁问题探秘。。。
| December 19, 2008 19:17 | root | Via 本站原创
<?php
for ( $i = 1; $i < 100; $i++ ) {
$str = str_repeat('01234567', $i);
$a = memory_get_usage();
unset($str);
echo $str;
$b = memory_get_usage();
echo "\n<br />".$i.': '.($b - $a).' Bytes.';
}
?>
for ( $i = 1; $i < 100; $i++ ) {
$str = str_repeat('01234567', $i);
$a = memory_get_usage();
unset($str);
echo $str;
$b = memory_get_usage();
echo "\n<br />".$i.': '.($b - $a).' Bytes.';
}
?>
<br />10: 0 Bytes.
<br />11: 0 Bytes.
<br />12: 0 Bytes.
<br />13: 0 Bytes.
<br />14: 0 Bytes.
<br />15: 0 Bytes.
<br />16: 0 Bytes.
<br />17: -148 Bytes.
<br />18: -156 Bytes.
<br />19: -164 Bytes.
<br />20: -172 Bytes.
<br />21: -180 Bytes
<br />11: 0 Bytes.
<br />12: 0 Bytes.
<br />13: 0 Bytes.
<br />14: 0 Bytes.
<br />15: 0 Bytes.
<br />16: 0 Bytes.
<br />17: -148 Bytes.
<br />18: -156 Bytes.
<br />19: -164 Bytes.
<br />20: -172 Bytes.
<br />21: -180 Bytes





