关于python27 中文编码
本博文已移致独立博客:www.pubwin2009.net
传送门:http://www.pubwin2009.net/index.php/pubwin/42.html
看了网上好多的资料,以前一直不理解encode,decode以前uncode,utf-8,现在理解了,uncode是转码内部中介,比如
#coding:utf-8 a='中国'
print repr(a)
#这个时候a是utf8的字节流
b=a.decode('utf8')
print repr(b)
#b是uncode字串了
#由于在windows,cmd控制台上能显示的编码只有gbk或是uncode,但是不能显示utf8
#我们在写控制台程序的时候需要将utf8转为gbk显示
c=b.encode('gbk')
print repr(c) print a
print b
print c
decode是将其他编码的字串解码为uncode,encode是将uncode编码的字串编码为其他编码串以便保存或显示,uncode是一个内部中介
在交互式shell(idlle)里有一个问题就是在windows下,a=u’中国’是,会被这个u会被原样复制,如下图,但是写进脚本运行,就没有问题,还有发现不带b的版本的pymssql也有这个问题,读出来的gbk串会被无故的加上u但是编码没变有些输入法输入也是问题,会莫名其妙的多个字符进去.
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> a=u'中'
>>> a
u'\xd6\xd0'
>>> a='中' >>> a
'\xd6\xd0'
>>>
下面附上今天写的一个根据日志统计出现次数的小程序:
#coding:utf-8
#count jiebang times in log
#文件里出现一次发送群消息成功,就视为一次解绑成功 import os
from time import sleep
logpath='c:\log.log' #定义解绑日志路径 file=open(logpath,'r') #以只读方式打开解绑文件,生成解绑文件对象
a=u'发送群消息成功' #初始化判断字串
countline=0 #初始化总行数
countjiebang=0 #初始化解绑次数 while 1:
line=file.readline() #读取解绑
if not line:break #如果到文件尾,跳出
#print line
countline+=1
if a in line.decode('gbk'):
#由于是用到gbk码,所以要decode
#判断此行是否含有判断字串
#print 1 #测试用
countjiebang+=1
#sleep(2) #测试用
file.close() #关闭文件对象
print repr(a)
print 'lines:',countline #显示有一共有多少行
print 'jiebang times:',countjiebang #显示解绑了多少次
os.system('pause')
log.log 片断:
2015-02-09 18:23:46 信息 解绑:1652392404|13122700501|13解绑:1
2015-02-09 18:24:58 信息 发送短信中心心跳成功.
2015-02-09 18:25:03 信息 解绑 压入堆栈|15661614231|上海市宝山区
2015-02-09 18:25:03 信息 群消息:41897886|(931010138)|消息:解绑 15661614231
2015-02-09 18:25:06 信息 群:1545325917 发送群消息成功:【15661614231】在 上海市宝山区 解绑成功!
感谢:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html此篇博文,网上有些直接扫下来的文章会让人迷惑.
关于python27 中文编码的更多相关文章
- 关于python27和windows系统的中文编码问题
最近想写一个python脚本实现对文件夹中的文件进行批量命名.每个文件对应从txt文档中提取出来的一行,因为文件名是中文,所以涉及到了一些中文编码的问题. 脚本运行环境是win10+python27 ...
- 难道.NET Core到R2连中文编码都不支持吗?
今天写了一个简单的.NET Core RC2控制台程序,发现中文显示一直是乱码.查看操作系统设置,没有问题:查看源文件编码,也没有问题:甚至查看了Console字符编码相关的注册表,依然没有发现问题. ...
- Java Web中的中文编码
Java Web开发中经常会遇到中文编码问题,那么为什么需要编码呢?因为人类需要表示的符号太多,无法用1个字节来表示,而计算机中存储信息最小单元为1个字节.所以必须指定char与byte之间的编码规则 ...
- python中文编码问题
第一步:在代码中输入以下命令,执行: #在Python中显示中文注释和输出中文a ="中文"print a 返回错误: d:\Python27\python.exe "D ...
- Java页面中文编码要转换两次encodeURI
1.js文件中使用encodeURI()方法. login_name = encodeURI(encodeURI(login_name)); 2.action中URLDecoder解码 loginNa ...
- python27 ImportError: No module named site
运行 python27 时发现 提示这个错误 在http://stackoverflow.com/questions/5599872/python-windows-importerror-no-mod ...
- ZKUI中文编码以及以docker方式运行的问题
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- R语言读写中文编码方式
最近遇到一个很头疼的事,就是 R语言读写中文编码方式.在网上找到了一篇博文,谢谢博主的精彩分享,让我很快解决了问题,在此也分享一下 R语言读写数据的方法很多,这里主要是我在使用read.csv/rea ...
- python27(32位)安装模块报错“error: Unable to find vcvarsall.bat”
1)首先,下载一个Microsoft Visual C++ Compiler for Python 2.7的补丁,下载地址在这里: http://www.microsoft.com/en-us/dow ...
随机推荐
- 转:Windows下载Android源码
原文来自于:http://blog.csdn.net/hlf48641715/article/details/7188450 下载msysgit,安装 官方下载:http://code.google. ...
- 2个Web上传组件
http://www.uploadify.com/download/ http://gmupload.tanjun.com.cn/
- 基于 USB 传输的针式打印机驱动程序开发
1.引言 针式打印机曾经在相当长的一段时间占据打印机市场的主导地位,但是近年来由于喷墨.激光等非击打式打印机的冲击,针式打印机的市场份额逐年下降.即便如此,由于针式打印机在票据打印领域的不可取代性,同 ...
- android之针对fragment多次调用onCreateView的问题
private View rootView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup contain ...
- [LeetCode] 28. Implement strStr() 解题思路
Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...
- 九度OJ1486 /POJ 1029/2012北京大学研究生复试上机
wa到死!wa到死!这是一个看着简单,坑及其多的题! 坑一:POJ上是单组输入,九度上是多组输入,妈蛋要是研究生复试遇到这种大坑肯定死掉啊!而且对于codeforces比较习惯的 同学肯定会觉得巨坑无 ...
- 深入理解linux网络技术内幕读书笔记(十)--帧的接收
Table of Contents 1 概述 1.1 帧接收的中断处理 2 设备的开启与关闭 3 队列 4 通知内核帧已接收:NAPI和netif_rx 4.1 NAPI简介 4.1.1 NAPI优点 ...
- FreeMarker---数据类型
1.a.ftl 你好,${user},今天你的精神不错! ----------------------------- 测试if语句: <#if user=="老高"> ...
- 手势触摸定位(UIPanGestureRecognizer)
/** 1.相对于父坐标系而言,表示当前触摸点所在的位置 */ CGPoint locationPoint = [panGestureRecognizer locationInView:panGest ...
- poj 2104 K-th Number - 经典划分树
Description You are working for Macrohard company in data structures department. After failing your ...