2010年5月11日星期二

捏板凳随笔

爱因斯坦捏板凳大概可以用来比喻我现在的状态……捏了第三只,比起之前好一点,但是正常来说还是最丑的一类。——有感于事隔一年半之后再次试图把 dict4ini 放到 pys60 上用的时候俺竟然会用 map(None, range(len(list)), list) 来模拟 enumerate(list) 了。上次是认真写了 for 循环的。
python 2.2.2 没有 bool 类型的事情上次发现过了,相关选择分支删掉。 pys60 1.4x 没有 locale 模块,上次直接把相关判断统统咔嚓掉,这次打算尽量少改动,忘记在哪里看到过说 s60 内部就是用的 utf-8 ,所以只把 locale.getdefaultlocale()[1] 改成 "utf-8" 了。另外 pys60 的文件读写似乎不支持相对路径(我连当前路径在哪里还摸不着呢~用 sys.argv[0] 或者 appuifw.app.full_name() 感觉都丑丑的)。
python 2.2.2 的 base64 没有 b64encode 和 b64encode ,上次因此把加密部份全部咔嚓了,这次爬去下了 2.4 的源码包,把里面的 base64.py 挖出来改个名字放在 dict4ini 的目录下用。直接覆盖在系统目录下大概也不是不可以,不过为了避免影响其它程序,还是算了。
测试中文用 u'中国' 在 .ini 文件里看会乱码,直接用 '中国' 则不会。因为 pys60里, "中国" 是 '\xe4\xb8\xad\xe5\x9b\xbd' , u'中国' 就是 u'\xe4\xb8\xad\xe5\x9b\xbd' (这也太混了吧……),用 "中国".decode("utf-8") 才能得到正确的 u'\u4e2d\u56fd' 。直接把本来就是 utf-8 的 "中国" 写入 ini 会按照 utf-8 解码,于是就正常了。
常常会想,花费时间捏这些对除了我自己之外的人完全没用、我自己大概也只能用两三年的天下无敌丑板凳是不是很浪费呢。毕竟除了我自己大概没什么人喜欢折腾智能机却还困守在 s60v2 上。一定要给自己一个理由的话,就是我把别人看电视剧和偷菜的时间用于爬代码了——既然我无法从电视剧或者偷菜里获得乐趣,那么爬代码娱乐和打发时间并不是很坏的选择。
ps: 我没办法用 ucweb 下载 dropbox 的文件。地址用 https ,自带浏览器和 OperaMini 都可以下。善意的说是丫废柴,恶意的猜测是因为他们自己提供了网盘服务——我阴谋论爱好者的尾巴露出来了。

没有评论:

发表评论