相信积累的力量

摘要: Python 的 print 语句有一个很奇怪的 bug。它的功能是向控制台输出字符,这本身不是问题。但是 Python 内部是支持 Unicode 字符串的,而 Unicode 字符串在用 print 输出时 print 要进行一次从 Unicode 到 ANSI/MBCS 编码的编码,编码后才会以 8-bit 流输出结果。编码就编码吧,这也是很正常的。对于控制台程序来说,输出可能被重定向到文本文件。如果不指定编码,重定向时就不知道以何种 8-bit 字节流写入文本文件,所以,输出到控制台的东西理论上也应该是经过编码的 8-bit 流。综上所述,确实有必要进行一次 WCHAR 到 char 阅读全文
posted @ 2013-09-12 15:31 ThreeF 阅读(6224) 评论(0) 推荐(1) 编辑
摘要: windows下,python控制台,编码 为gbk用户输入为gbk,python内部用unicodezi = u'字'gbk输入 -> unicode内部表示>>> ziu'\u5b57' 内部表示>>> print zi字 内部表示->gbk输出把内部表示转换为另一种编码存储输出时,系统认为仍是unicode表示,因此输出乱码查看windows控制台编码:右键属性python控制台编码:http://docs.python.org/2/library/locale.htmllocale.getdefaultlo 阅读全文
posted @ 2013-09-12 11:37 ThreeF 阅读(355) 评论(0) 推荐(0) 编辑
摘要: windows下,python控制台,编码 为gbk用户输入为gbk,python内部用unicodezi = u'字'gbk输入 -> unicode内部表示>>> ziu'\u5b57' 内部表示>>> print zi字 内部表示->gbk输出把内部表示转换为另一种编码存储输出时,系统认为仍是unicode表示,因此输出乱码查看windows控制台编码:右键属性python控制台编码:http://docs.python.org/2/library/locale.htmllocale.getdefaultlo 阅读全文
posted @ 2013-09-12 10:40 ThreeF 阅读(640) 评论(0) 推荐(0) 编辑
摘要: http://www.pythonclub.org/python-basic/encode-detail谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?我很早前就发现Unicode、Unicode big endian和U 阅读全文
posted @ 2013-09-12 10:05 ThreeF 阅读(374) 评论(0) 推荐(0) 编辑
摘要: http://www.pythonclub.org/python-basic/codecpython 编码转换主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换。常见的编码转换分为以下几种情况:自动识别 字符串编码可以使用 chardet 模块自动识别 字符创编码chardet 使用方法unicode 转换为其它编码(GBK, GB2312等)例如:a为unicode编码 要转为gb2312。a.encode('gb2312')# -*- coding=gb2312 -*-a = u& 阅读全文
posted @ 2013-09-12 09:30 ThreeF 阅读(470) 评论(0) 推荐(0) 编辑

相信积累的力量