UnicodeDecodeError: 'utf8' codec can't decode bytesnbsp

2024-05-05 08:48

本文主要是介绍UnicodeDecodeError: 'utf8' codec can't decode bytesnbsp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


编码问题真的是个很常见且困扰的问题:
原文是ansi编码,(windows下默认编码),换到linux下工作,需要转为utf8编码,文件多所以写了个小程序,
其中执行到这:outfile.write(line.encode('utf-8')),会报错:
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data.
具体原因可以参见: http://www.crifan.com/unicodeencodeerror_gbk_codec_can_not_encode_character_in_position_illegal_multibyte_sequence/
修改为:
outfile.write(line.decode('gbk','ignore').encode('utf-8','ignore')).
即可正确运行.

如果是utf8变为ansi:
这样写即可:
outfile.write(line.decode('utf-8','ignore').encode('gbk','ignore'))


这篇关于UnicodeDecodeError: 'utf8' codec can't decode bytesnbsp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961285

相关文章

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

批量文件编码转换用python实现的utf8转gb2312,vscode设置特殊文件的默认打开编码

批量文件编码转换用python实现的utf8转gb2312, 任意编码之间的相互转换都是可以的.改一下下面的参数即可 convert.py文件内容如下 import osimport globimport chardet#检测文件编码类型def detect_file_encoding(file_path):with open(file_path, 'rb') as f:data = f

【python 编码问题】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not

插入oracle 数据发生 错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 131-136: ordinal not in range(128) 先说解决办法: python2.7版本,在开头加入下面语句 import sysreload(sys)sys.setdefaultencoding

case when 与 decode 用法

case when 在不同条件需要有不同返回值的情况下使用非常方便,可以在给变量赋值时使用,也可以在select查询语句中使用。 case搜索语句格式: case  when 条件1 then 返回值1  when 条件2 then 返回值2  ...  else 返回值N  end; case when使用示例代码: select empno,ename,job,cas

[LeetCode] 394. Decode String

题:https://leetcode.com/problems/queue-reconstruction-by-height/description/ #题目 Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k), wh

如何设置 zend studio 默认编码为UTF8

今天用zend studio 打开文件时发现为乱码,这肯定是编码出了问题,我看了一下果然是编码出了问题,默认的是以GBK编码方式打开,我换utf8编码打开就好了,换编码打开的方法是: 1、点击工具栏中的edit,  找到set encoding···  将编码改为utf8即可。 这样改明显很麻烦,怎么把默认编码设置成为utf8呢? 1 、依次打开 window->

whose UTF8 encoding is longer than the max length 32766

问题描述:java.lang.IllegalArgumentException: Document contains at least one immense term in field=“cf_jg.keyword” (whose UTF8 encoding is longer than the max length 32766) 原因:设置为keyword类型的字段,插入很长的大段内容后,报

Oracle 数据库SQL中 decode()函数简介

decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明); 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中columnname为要选择的table中所定义的column, ·含义解释: dec

utf8和unicode编码的关系

UTF8 == Unicode Transformation Format – 8 bit 是Unicode传送格式。即把Unicode文件转换成BYTE的传送流。 UTF8流的转换程序: Input: unsigned integer c - the code point of the character to be encoded (输入一个unicode值) Output: byt

设置mysql5.7编码格式为UTF8

为了解决这个问题,各种百度,试了好多种方法,也看了好多博客,这一片博客解决了我的问题。 <span style="font-family:SimSun;font-size:18px;">http://blog.csdn.net/u013474104/article/details/52486880;在此总结一下以免下次再出现问题走弯路。</span>