python 字符串报错问题

http://jingyan.baidu.com/article/25648fc1a96dd49191fd00c0.html

解决‘ascii‘ codec can‘t encode character

在python2.7下,将字符串写入到文件时会出现"UnicodeEncodeError: ‘ascii‘ codec can‘t encode character u‘\xa0‘ in position"的错误,原因是由于python基于ASCII处理字符的,当出现不属于ASCII的字符时,会出现错误信息

指定文件字符集为utf-8

  1. 在文件头部加入以下代码:

    import sys

    reload(sys)

    sys.setdefaultencoding(‘utf-8‘)

时间: 2024-12-06 11:15:01

python 字符串报错问题的相关文章

ESL python调用C模块时传递unicode字符串报错问题解决

在是用freeswitch时利用ESL的python调用时传递字符串报错 TypeError: in method 'ESLconnection_api', argument 2 of type 'char const *' 是由于python传递的字符串为unicode,在c语言char使用的ascii码方式在SWIG中做一下转换,代码如下 修改文件esl_wrap.cpp ##### /* for C or C++ function pointers *///添加定义#define SWIG

iOS解析JSON字符串报错Error Domain=NSCocoaErrorDomain Code=3840 "Invalid escape sequence around character 586."

将服务器返回的JSON string转化成字典时报错: Error Domain=NSCocoaErrorDomain Code=3840 "Invalid escape sequence around character 586." 仔细查找后在原来解析的基础上将"\"字符替换成""或"\\"后,解析成功.具体的解析代码如下: - (NSDictionary *)parseJsonStringToNSDictionary:(

sscanf_s读取字符串报错的问题分析

1 if (!fgets(line, 512, fin)) 2 { 3 break; 4 } 5 6 char tCh[256] = {0}; 7 sscanf_s(line, "%[^,],%lf,%lf,%lf,%lf,%lf,%lf\n", tCh, 256, &ax, &ay, &az, &gx, &gy, &gz); 如上所示,使用sscanf_s解析line字符串,先读取行首的字符串,需要在字符串之后指定所能容纳的字符串大小,

解决python3向数据库插入日期字符串报错的问题

[Err] 22007 - [SQL Server]从字符串转换日期和/或时间时,转换失败. 插入的日期字符串(日期字符串是从文件中读取的,将文件中的数据转存到关系型数据库中): '2017/04/10' 字符串看着没问题,我用len(str)查看长度,发现长度为11,多出了一个字符长度. 复制到notepad++查看,更改字符串编码:编码为:UTF-8-BOM时看到字符串中多出了一个“?” 看到这个应该知道是什么原因导致的了,所以就有了解决办法.由日期字符串可以看出,其中只包含了数据和'/'这

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 编码报错问题 'ascii' codec can't encode characters 解决方法

python在安装时,默认的编码是ascii, 当程序中出现非ascii编码时,python的处理常常会报这样的错 'ascii' codec can't encode characters python没办法处理非ascii编码的, 此时需要自己设置将python的默认编码,一般设置为utf8的编码格式. 查看python的默认编码 print sys.getdefaultencoding() 解决方法一(已通过验证,顺带也解决了我之前字符前一直加u的问题) 在python安装目录下,进入\P

python 字符编码练习

通过下面的练习,加深对python字符编码的认识 # \x00 - \xff 256个字符 >>> a = range(256)>>> b = bytes(a) # 不用参数encoding >>> b b'\x00\x01\x02 ... \xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff' >>> b.decode('utf-8') # 报错 Traceback (most recent call l

python字符编码惯用法

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