??xml version="1.0" encoding="utf-8" standalone="yes"?>1.q
׃vimcdoc的文仉是UTF-8格式?所以直接用gvim打开后会出现q.解决:?vimrc文g中加上一?set encoding=utf-8"
2.如果操作pȝ?000/xp中文?gvim的初始界面以及菜单栏都是中文.如果按照1中的Ҏ讄uft-8的话,q些内容变成ؕ码了.解决:把vim文g夹下面的lang文g夹删?q样gvim启动的时候就默认是英语了,菜单栏和界面提示也都是英文了.
3.用gvim打开vimfiles文g夹下面的中文帮助help.cnx文g后点击链接不能蟩?
q是׃tags文g有问?解决:用vimfiles/doc文g夹覆盖vim71/doc,具体步骤Q?Q删除或U走vim71下的doc目录Q?Q将vimfiles下的doc目录拯qvim71下,3Q用扚w重命名工具将doc下的所有cnx后缀的文件改成txt后缀.Q当?如果你想保存一栯文帮助的话可以先打包.Q这L好处是可以蟩转了,而且直接启动gvim后按F1可以启动中文帮助了^^
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/happen23/archive/2008/04/24/2324916.aspx
]]>
basic是好多h的年q时的回忆了QgvbasicQgwbasicQqbaiscQ各U版本把很多人带入了快乐的世界里面。但是很多h都会用了一D|间basic之后把它废|了Q因得除了能够用来playQ功能太。即便是vbQ也是功能不甚完善的Q很多地方要依靠其他语言写的lg和直接调?api来完成功能?br />而python׃_看之下Q也是那么的像玩兗而且那个交互式命令行lh带来的教学语a的感觉更加加ZZ的想法?br />但是python其实功能不能说是弱,其实是非常强大。python内置了重要的数据l构和文件这些功能,而且包含了一个很大的标准库,基本上涵盖了?GUI到数据库到网l种U功能上的要求。而且q有很多爱好者,公司企业为python写第三方的库Q这些库品种J多Q功能齐全。而且q能把其他语a的库加以包装l自׃用,直接用cq样的语a了来写扩展的库也是可以的。所以说Qpython像basic一样好学,但是功能却要强大很多?br />
W二个常见看法是Q?br />
python速度很慢Q只能用在很的应用场合
对于习惯了汇~和C++q样的语a的hQ思维L有一个惯性(包括我自׃l历了这么一个阶D)。就是看文g大小是数字节的,Mq行时的 overhead都是l对不可以的。那么一看见pythonq样的动态语aQ而且动态得非常厉害的语aQ怎么看怎么不顺g是情理之中了?br />关键的问题首先是你是否需要省那么?00~200k的大,现在的内存,盘Q网l通信环境已经不大在乎q么一点的I间了,所以大不是问题。关键的是运行时间吗Q其实在很多场合下是不需要那么快的速度的,比如开一个窗口,q行如果延时100msQ你感觉得到吗?
pythonq能够把py文gq行一些处理变成pyc文gQ加速源文g的解释执行。像java的虚拟机中的just in time或者hot spotq样的预先读取,预先~译的技术都能构同等的用于python?br />pythonq有一个非常大的好处就是能够用Cq样的快速的语言写扩展模块。在软g中一般都?0%的代码占据了80%的运行时间。这样你可以先用 benchmarkq样的工L看Y件是否慢得无法忍受了Q然后再用profiler查出问题瓉在哪里,那么可以把关键的代码用C解决掉。这样可以节省了开发时_大部分代码用python写,比C快)Q而且q行速度也可以o人满意?br />所以说Q对于python的速度是不用多担心的。但是ؓ了客观v见,python的却是慢的,在python中什么都是对象,q个比javaq样的不那么U的OO语言Q就要差一些了?br />
W三个常见问题是Q?br />
׃python是动态的Q程序更加容易出错了
有这个看法主要是认ؓQ因为python是动态的Q所以缺乏静态的cd查,那么E序中的错误很隑֏C。设|可能说没有执行到的块的语法都没有得到完全彻底的查。变量由于没有声明,所以容易生误写的错误。事情真q么p糕吗?
W一个缺乏类型检查是说一个函数有几个参数Q但是由于参数的cd是动态确定的Q所以没有办法在静态的时候就查传入的参数和参数表是否匚w了。问题是你写的函C定要自己试了,而且一旦出了问题,你是非常Ҏ扑ֈ出错的地方的。dynamic typing是那么灵zd用,多这么一炚w烦也是值得的?br />
W二个看法就是错误的。在python中所有语法都得到了检查的。即使是处在分支语句中。只是有可能你说的是q样的情况:
a = 1;
明明加了分号Q怎么不说我错了呢Q其实分h可以用的Q用来格开在一行中的不同语句?br />q有可能是这LQ?br />if a == 0:
fsdfsdafsad
q个怪东西应该是一个语法错误吧。其实是未必。因为程序运行到q个的时候可能这个名字就l定C什么东西上了,未必是错误。它是符合语句的语法的?br />
W三个则不是那么回事了。在basic中,你引用一个没有出现过的变量名。那么这个变量自动被分配Q而且得到初始化。这个就会出问题了。而python中,你不能引用一个没有绑定到对象上的名字Q?br />name = 0
q样的语句就是一个声明了。没有什么问题?br />name = 0
nama = 1
q个L问题了吧。对于变量名的误拼写出现在赋值的情况的时候就会被通过Q因为是产生一个新的名U绑定。那么这个也好找出来啊,必然是出现在赋值的情况下,比basic中的那种情况好多?br />
M来说是,dynamic的东西缺一些静态的查的却是会得错误隐蔽一些。但是由于动态带来的调试上的方便Q比如能够一g出错信息中找到出错的行,以及调用程Q以把副作用给抉|了?br />
希望通过我的一点解释,能够让你消去疑惑Q喜Ƣ上python?
]]>
最q有人问我关于这个的问题Q就此写一blog
Ansi字符串我们最熟悉Q英文占一个字节,汉字2个字节,以一个\0l尾Q常用于txt文本文g
Unicode字符Ԍ每个字符(汉字、英文字?都占2个字节,?个连l的\0l尾QNT操作pȝ内核用的是这U字W串Q常被定义ؓtypedef unsigned short wchar_t;所以我们有时常会见C么char*无法转换为unsigned short*之类的错误,其实是unicode
UTF8是Unicode一U压~Ş式,英文A在unicode中表CZؓ0x0041Q老外觉得q种存储方式太浪费,因ؓ费?0%的空_于是把英文压羃?个字节,成了utf8~码Q但是汉字在utf8中占3个字节,昄用做中文不如ansi合算Q这是中国的网는作ansi~码而老外的网常用utf8的原因?br />UTF8在还游戏里运用的很广泛,比如WOW的lua脚本{?br />
下面来说一下{换,主要用代码来说明?br />写文件我用了CFilec,其实用FILE*之类的也是一P写文件和字符串什么类别没有关p,g只关心数据和长度
Ansi转Unicode
介绍2U方?br />
Unicode转Ansi
也是2U方?br />
Unicode转UTF8
UTF8转UNICODE
Ansi转换utf8和utf8转换Ansi是上面2个的l合Q把unicode作ؓ中间量,q行2ơ{换即?br />
by greatws
客户?/span>:Windows q_
服务?/span>:Windows & Linux
框架图例Q?br />
目介:
P2PҎ直播开源项目是一个由Kevin发vQ多人参与开发ƈ不断更新Q符合GPL开源协议的开源项目?/p>
目成员Q 系l架构及初期开发: W文U?Kevin), 马军(Mark), 张威, 高成, 王亮
LINUX相关开? 李桂?QQ:674859634)
JSP|站pȝ: 伍林(QQ:86409354)
ASP|站pȝ: 徐小?QQ:275992019)
Bittorrent模块: Lism(QQ:32437503[Johnny]), 肖双?3707878[Color_X])
目的Q羃短企业同cd目开发周期,集成多种P2P协议Q如BT,EMULE{?/p>
主要功能Q?br /> Peer 间传输数据采用UDPQ能有效的穿透防火墙Q在q一步的版本中将实现TCP及UPNPIK?br /> 能够实现媒体的Ҏ及直播,q能׃n其他文gQ文件类型不限?br /> 媒体文件支持广泛,如rmvb,wmv,flv,mp4{?/p>
源代码下载论坛:http://opensource.kan8888.com
SVN下蝲地址Q?/p>
工程地址: svn://p2p.kan8888.com/P2PCenter
用户名:mc_public
密码Qkan8888.com
sourceforge.net 下蝲地址Q?br />website:http://p2pmedia.svn.sourceforge.net
SVN 地址Q?a >https://p2pmedia.svn.sourceforge.net/svnroot/p2pmedia
演示|站Q?a >http://www.skyvcd.com
最新源代码打包下蝲Q?a >http://opensource.kan8888.com/soft/P2PCenter_last.rar
P2PҎ直播开源项?非常不错
http://opensource.kan8888.com
专业?S?3s8.cn
专业?S?3s8.cn