【转载】对python字符串编码的理解

条评论
用python处理html entity时,python编码时出现一些问题,见下面的代码 import remessage = ‘密码修改成功’ regex = ‘(&#(\d{5});)’ entities = re.findall(regex, message) for entity in entities:     message = message.replace(entity[0], unichr(int(entity[1]))) #print message #在pythonwin中执行没有问题,在pydev中执行报错 print message.encode(‘gbk’) #正常 为了搞清除为什么会出错,下面是我做的一些测试.下面是对’密码’两个字的一些测试,在pythonwin交互窗口中执行,虽然知道了要得到正确的中文该怎么在程序中处理,并且使得程序在pydev和pythonwin两个环境中执行都不出错,但是却还是搞不清为什么会这个样子.先记下罢.有能解释底层机制的朋友,也请留言帮个忙吧. >>>...

阅读全文

【转载】Python字符串的编码和解码

条评论
http://blog.chinaunix.net/u/24950/showart_192365.html 先举个例子: #coding: gbk unicodestring = u”Hello, 中国” #Convent Unicode to plain Python string: “encode” utf8string = unicodestring.encode(“utf-8”) utf16string = unicodestring.encode(“utf-16”) gbkstring = unicodestring.encode(“gbk”) cp932string = unicodestring.encode(“cp932”) #Convent plain Python string to Unicode: “decode” unicodestring1 = unicode(utf8string, “utf-8”) unicodestring2 = unicode(utf16string, “utf-...

阅读全文

【转载】Python字符串的encode与decode

条评论
http://ipie.blogbus.com/logs/19379694.html 首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312’),表示将unicode编码的字符串转换成gb2312编码。 在某些IDE中,字符串的输出总是出现乱码,甚至错误,其实是由于IDE的结果输出控制台自身不能显示字符串的编码,而不是程序本身的问题。 如在UliPad中运行如下代码: s=u”中文”print s 会提示:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in...

阅读全文

如何在excel表格某一列怎样快速插入同一前缀

条评论
用函数CONCATENATE,具体做法如下: 假设姓名那一列的地址是在A1到A13。找一个空白的目标区域,比如说C列空白。选定横向对应着A1格的单元格C1,点击上方编辑栏左边的“=”,这时,编辑兰就出现了准备编辑公式的“=”,在“=”号后输入【CONCATENATE(“河南”,A1)】,按回车确定函数。注意,所有符号必须在英文状态下输入,上述函数不包括两端的中括号。按过回车之后,C1单元格已经变成了“河南××”了,然后把鼠标放到C1单元格的右下角,呈黑色小十字,拖动往下复制函数,按着A列的数据长度一直拉到底,就在C列上实现了整个一列加入了“河南”前缀。复制C列,怎么操作都可以了。

阅读全文

【转载】Apache 虚拟主机的配置

条评论
== 基本配置 ==我们都知道,如果我们想在单台机器上设置多个域名或主机名时,我们就要用到基于名称的虚拟主机了。那么要如何进行设置呢?这就是本 HowTo 想解决的问题了。在 Ubuntu 的 /etc/apache2/ 目录下有个 Apache2 的主配置文件 apache2.conf。在该文件中我们可以看到有这么一行内容: 代码: Include /etc/apache2/sites-enabled/[^.#]* 这行的意思表明该文件包含了 /etc/apache2/sites-enabled/ 目录中文件名不含 “.” 或 “#” 这两个字符的所有文件。而当我们列出该目录的文件时,发现只有一个 000-default 的软链接文件,实际连接的是 /etc/apache2/sites-available 目录中的 default 文件,不难看出该文件的文件名中并不包含 “.” 或 “#”。所以这个文...

阅读全文

【转载】升级到Ubuntu7.10时出错的解决方法

条评论
我遇到的问题是启动apache2,出现错误,不能加载libphp5,然后提示libxml2未定义的信号: apache2: Syntax error on line 185 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/libxml2.so.2: undefined symbol: gzopen64 按照下文的提示,将/usr/local/lib/里的libz的so全部rename了下,问题解决。 引文: 前些天从7.04升级到7.10,有两台机子同时升。奇怪的是一台可以正常升级,而且升完后可以正常使用,而另一台升级过程中却...

阅读全文

[转载]可千万别乱改动你的wordpress安装地址和博客地址

条评论
原文地址:http://www.taaini.com/web/wordpress-options.html 我最近一个月学习数据库的一些使用,把他爱你博客的一些数据导入到本机的一个wordpress中,是所有的数据一起导入,从此我就不能登录本机数据的后台了,为什么呢?因为已登录就直接跳转到taaini博客,这是因为地址也变成他爱你博客的了。 另外也是最近,我将本机的地址改成另外一个,导致我也登录不了后来了,想要去网上查找方案,连怎么搜关键词都想不出来,终于我想到个办法,我登录数据库,找到数据库中记录图中两个字的表和那条记录,修改数据库,终于搞定了。 所以,大家不要随便去改你的这个参数啊,否则会让你吃不了兜着走,呵呵,我把解决方法分享一下。 首先用phpmyadmin打开你的数据库,然后找到wp-options这个数据表,找到第一条记录也就是siteurl这条,还有第39条home,这两条将地址改成你想要的就块可以恢复了,如果你不知道怎么改数据就看看数据库管理的教程就可以了,很简单。 原创文章,欢迎转载,转载请注明转载自:http://www.taaini.com/web/wordp...

阅读全文

如何处理python编码转换时的UnicodeDecodeError异常

条评论
python提供的unicode转换不像iconv或是mbstowcs之类的方便。 如果转换一段 unicode(“1234中文”,’ascii’) 到utf8会直接出现UnicodeDecodeError的错误。如果在你能预知字串符的编码的时候,比如你用unicode(‘1234中文’, ‘gbk’) 就不会出现错误,不过很多时候,会出现CJK混合的情况,如果要做到将一段CJK文件转换成unicode可能就行不通了。 好在python的codecs提供了register_error这个功能:register_error( name, error_handler) 原理很简单,不过要先看unicode是如何处理异常的,unicode这个函数是将一段string按输入的编码转换成目标的编码,如果出现了不与输入编码相符的,会出现一个UnicodeDecodeError的异常,通常有三种处理方法:strict,replace,ignore,默认是 strict,就是直接raise UnicodeDecodeError. 通过register_error,我们也可以有自己的处理方法...

阅读全文

python中文转换url编码

条评论
今天要处理百度贴吧的东西。想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了。但是添加到list里面是中文的情况(比如‘丽江’),url的地址编码却是’%E4%B8%BD%E6%B1%9F’,因此需 要做一个转换。这里我们就用到了模块urllib。 import urllibdata = ‘丽江’print data丽江data‘\xe4\xb8\xbd\xe6\xb1\x9f’urllib.quote(data)‘%E4%B8%BD%E6%B1%9F’那我们想转回去呢?urllib.unquote(‘%E4%B8%BD%E6%B1%9F’)‘\xe4\xb8\xbd\xe6\xb1\x9f’print urllib.unquote(‘%E4%B8%BD%E6%B1%9F’)丽江细心的同学会发现贴吧url中出现的是%C0%F6%BD%AD,而非’%E4%B8%BD%E6%B1%9F’,其实是编码问题。百度的是gbk,其他的一般网站比如google就是utf8的。所以可以用下列语句实现。import sys,urllibs = ‘丽江’...

阅读全文

PYTHON 脚本作为WINDOWS服务启动

条评论
如果我们想让系统启动的时候就执行某个程序,windows系统和unix系统是不一样的,对于unix只需要将要执行的命令放到 rc.local中,系统重新启动的时候就可以加载了。windows就麻烦多了,如果你将程序放到启动组中,只有输入了密码后,程序才被执行,如果想在 系统一启动的时候就执行程序,必须使用nt服务。python下如何使用nt服务,其实很简单。下载python的win32支持。我使用的是:pywin32-202.win32-py2.3.exe安装好后就可以来写我们的服务了。我们先来建立一个空的服务,建立test1.py这个文件,并写入如下代码: -- coding: cp936 --import win32serviceutilimport win32serviceimport win32event class test1(win32serviceutil.ServiceFramework):     svc_name = “test_python”     svc_display_name = “test_python”     def in...

阅读全文