关于python unicode的实验
实验环境:windows xp + vim
文件:test.py。编码:ansi
我们的目标操作test.py中保存的非英文字母。
文件头的#encoding=utf8/gbk,这个是用来说明源文件的硬盘编码以便python识别[4]。
----------------------------------------------
输入:
x = '中文'
输出: 编译失败
编译时需要知道‘中文’的硬盘编码(#encoding=utf8...)。
----------------------------------------------
输入:
#encoding=utf8
x = '中文'
输出: 编译失败
#encoding=utf8与实际源文件的编码不一致(ansi)
----------------------------------------------
#encoding=gbk
x = '中文'
输出:编译成功
同样,把文件存为utf8, 内容改为:
#encoding=utf8
x = '中文'
输出:同样编译成功
----------------------------------------------
#encoding=gbk
' 中文'.decode('gbk')
输出:编译成功
----------------------------------------------
#encoding=gbk
x = '中文'.decode('utf8')
输出: 编译失败。'中文'二字在python当前的内存中是gbk编码,因此只能用gbk decode.
----------------------------------------------
#encoding=gbk
x = '中文'.decode()
输出: 编译失败。因为decode无参数,系统则默认地认为'中文'二字是ascii, 从而尝试将ascii编为unicode。由于'中文'二字在python当前的内存中是gbk编码,只能用gbk decode,因此报错
----------------------------------------------
#encoding=gbk
x = u'中文'.encode('gbk')
print type(u'中文'),type(x),x
输出: <type 'unicode'> <type 'str'> 中文。
----------------------------------------------
#encoding=gbk
x = u'中文'.encode('utf8')
print type(u'中文'),type(x),x
输出:
<type 'unicode'> <type 'str'> 涓枃。虽然还是能运行,但是输出了错误结果,因为实际编码(gbk)和声明的编码(utf8)不匹配
----------------------------------------------
#encoding=gbk
x = ['中文', u'中文', '中文'.decode('gbk')]
print x
输出:
['\xd6\xd0\xce\xc4', u'\u4e2d\u6587', u'\u4e2d\u6587']
----------------------------------------------
#encoding=gbk
x = 'スマ'
print x
输出:
スマ。完全正确。print会把'スマ'转换为'gbk'打印(实际是把‘'スマ'交给操作系统打印,操作系统默认用gbk打
相关文档:
python的egg文件有点像java中的jar文件,是一个工程打包文件,便于安装部署,仅此一点,给多少pythoner带来了多少激动。
如何制作egg文件呢?see官方文档http://peak.telecommunity.com/DevCenter/PythonEggs,
到http://pypi.python.org/pypi/setuptools下载setuptools包,然后安装:
python setup.py
1.制作egg文件
......
1.c调用python:
实例代码:
main.c调用test.py的
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//main.c
#include <windows.h>
......
python中的datetime module是专门处理时间相关内容的模块,功能很强大,但是反而显得比较复杂。
一下代码是用来求从mysql中取到的timestamp和当前时间比较,求时间差的方法
import datetime
lasttime=a.get_last_timestamp(sid=40)[-1]["last_time"] #取到timestamp
delta = datetime.datetime.now()-lasttime # ......
python string和PyQt的QString的区别 以下在Python2.6和PyQt4.4.4 for
Python2,6环境下讨论: Python中有两种有关字符的类型:Python string object和Python Unicode
object。主要使用Python string object进行数据输入输出。 PyQt中与之相对应的字符有关类
python string和PyQt的QString的区别
以下在Python2.6和PyQt4 ......