python-字符转换遇到的问题

1,异常: ‘ascii‘ codec can‘t encode characters

字符集的问题,在文件前加两句话:
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

2,unicode中的‘\xa0’字符在转换成gbk编码时会出现问题,gbk无法转换‘\xa0‘字符。

所以,在转换的时候必需进行一些前置动作:

string.replace(u‘\xa0‘, u‘ ‘)

将‘\xa0‘替换成u‘ ‘空格。

3

 1 #! /usr/bin/env python
 2 #coding=utf-8
 3 s=raw_input()
 4 print s,type(s),len(s)
 5 s=s.decode("gbk")
 6 print s,type(s),len(s)
 7 s=s.encode("utf-8")
 8 print s,type(s),len(s)
 9 s="中国"
10 print s,type(s),len(s)
1 中国
2 中国 <type ‘str‘> 4
3 中国 <type ‘unicode‘> 2
4 中国 <type ‘str‘> 6
5 中国 <type ‘str‘> 6

raw_input读入是gbk编码的,汉字和字母都是

时间: 2024-11-15 08:00:20

python-字符转换遇到的问题的相关文章

python 字符转换

文本中“3082”想要“所见到所得”到内存中处理,必须decode('hex')一下,表示成“\x30\x82";否则其在内存中存储的是"\x33\x30\x38\x32".(即decode()函数2个变一个,处理的数据必须是偶数) sublime默认会个可视字符串文件加一个回车字符,Win下是"\r\n",linux下是"\n" 相反: “\x30\x82"在内存中,打印不出来可见串,所以要以可见串的形式打印,这时候用enc

python字符编码(python2.6)

很懒,很久之前就写好的.一直没有贴上来. 今天发一下,稍后在详细说一下几种编码在内存情况 问题: 多系统不同平台间数据交互,系统的编码格式不同,一般情况如Windows的gb2312,svn的utf-8,以及可能的mysql的gbk默认编码.在三者间相互数据交互,需要字符转码.调用python中String模块的Decode和Encode解码和编码,下面将介绍python字符转换和我们在项目中遇到的实际问题 Python编码解码: python的两种编码:str和unicode Python字符

Python字符编码转换Unicode和str

参考链接1:https://blog.csdn.net/VictoriaW/article/details/75314737 参考链接2:https://blog.csdn.net/sheldonwong/article/details/86684761 Unicode和str ## str 我们平时写的用引号括起来的字符串都是str类型的. >>> x = '哈哈' >>> x '\xb9\xfe\xb9\xfe' ### 根据上面的打印结果,可以知道str类型的x存

深入python字符编码

UnicodeEncodeError.UnicodeDecodeError 错误 字符 字符一个信息单位,它是各种文字和符号的统称,比如一个英文字母是一个字符,一个汉字是一个字符,一个标点符号也是一个字符. 字节 字节(Byte)是计算机中存储数据的单元,一个字节等于一个8位的比特,计算机中的所有数据,不论是磁盘文件上的还是网络上传输的数据(文字.图片.视频.音频文件)都是由字节组成的. 字符编码 字符编码(Character Encoding)是将字符集中的字符码映射为字节流的一种具体实现方案

python 字符编码处理问题总结 彻底击碎乱码!

Python中经常遇到这样的字符编码问题,尤其在处理网页源码时(特别是爬虫中): UnicodeDecodeError: 'XXX' codec can't decode bytes in position 12-15: illegal multibyte... 下面以汉字'哈'来解释作示例解释所有的问题,汉字"哈"的各种编码如下: 1  UNICODE(UTF8-16): 0xC854 2  UTF-8: 0xE59388 3  GBK: 0xB9FE 除此之外还有如gb2312,

Python字符编码详解(转)

1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求.后来每个语言就制定了一套自己的编码,由于单字节

python字符编码惯用法

本文总结在实际应用中遇到的python字符编码问题,制定一套编码相关的约定,避免编码上的错误. 在写猥琐宝典时需要总结soj上做过的题,准备在总结过程中顺便写一个soj上的题解.题解使用python可读,也就是python可以直接eval的格式,以便于处理.写题解老是copy soj上的题目id,title不是太方便,所以就准备自动生成一个空的题解,里面包含了我做过的题.然而直接从soj上只能拿到自己过了的题的id列表,缺乏其它信息.缺乏的信息可以抽象为soj数据库,其中包含了一个以id为主键的

python成长之路【第五篇】:python字符编码

在2.7环境中我们要写上这一行#-*- coding:utf-8 -*- 为什么我们要加这一行呢?这一样的意思是置顶编码类型为utf-8编码! 首先在看这个问题之前,咱们是否曾想过一个问题? 为什么我们可以在显示器上能看到这些文字.数字.图片.字符.等等信息呢?大家都知道计算机本身只能识别 0 1 的组合,他们是怎么展示这些内容的呢?我们怎么和计算机去沟通呢? 如果我们使用0 1 的组合和计算机沟通你还能看到这些内容吗?还有一个问题就是01的组合对于咱们说几乎看不懂对吧! 那怎么办?如何让计算机

第七章、Python字符编码

第七章.Python字符编码 一.定义 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的英文.汉字等字符是二进制数转换之后的结果.通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码":反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密.在解码过程中,如果使用了错误的解码规则,则导致'a'解析成'b'或者乱码. 字符(Character):是一个信息单位,在计算机里面,一个中文汉字是一个字符,一个英

Python字符编码很难吗?今天一文带你深入!从此不再疑惑!

不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError.UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode.decode 函数翻来覆去的转换,有时试着试着问题就解决了,有时候怎么试都没辙,只有借用 Google 大神帮忙,但似乎很少去关心问题的本质是什么,下次遇到类似的问题重蹈覆辙,那么你有没有想过一次性彻底把 Python 字符编码给搞懂呢? 完全理解字符编码 与 Python 的渊源前,我们有