utf-8和utf-8-sig的区别

python通过json库去读取json文件里面的内容 一、遇到的问题: 1、json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0): 解:因为 utf-8 和 utf-8-sig 是不一样的,我们将 其改成  utf-8-sig  就可以运行了。   PS:As UTF-8 is an 8-bit... 阅读详情
AI摘要

在写入CSV文件时遇到乱码问题,可以将编码设置为utf-8-sig而非utf-8。utf-8-sig能正确处理BOM,确保Excel能正常打开无乱码。utf-8不包含BOM,可能会导致读取时出错。

前序:写入csv文件时出现乱码问题;

解决办法:将encoding=‘utf-8’改为 encoding= ‘utf-8-sig’即可

二者的区别点:(以下区别资源来自网上)

1、”utf-8“ 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理, 也就会发生类似上边的错误.

  1. “uft-8-sig"中sig全拼为 signature 也就是"带有签名的utf-8”, 因此"utf-8-sig"读取带有BOM的"utf-8文件时"会把BOM单独处理,与文本内容隔离开,也是我们期望的结果。

with open('datum.csv','w',encoding ='utf-8-sig') as f:

utf-8保存的csv格式文件要让Excel正常打开的话,需要在文件最前面加入BOM(Byte order mark)。如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。

注:UTF-8是以字节为编码单元,没有字节序的问题。

Python学习笔记 --- utf-8与utf-8-sig 两种编码格式区别 阅读详情

相关推荐

CentOS 7升级GCC踩坑记:明明装了centos-release-scl,为啥找不到devtoolset-9-gcc-c++?

本文详细记录了在CentOS 7系统中升级GCC时遇到的`devtoolset-9-gcc-c++`不可用问题及其解决方案。通过分析`centos-release-scl`安装不完整的原因,提供了从清理残留、重新安装仓库配置到完整安装devtoolset-9工具链的全套操作指南,帮助开发者彻底解决类似环境配置难题。

weixin_29252171的博客 246

utf-8和utf-8-sig的区别(CSV文件 乱码)

前言:在写入csv文件中,出现了乱码的问题。 解决:utf-8 改为utf-8-sig 区别如下: 1、”utf-8“ 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理, 也就会发生类似上边的错误. 2、“uft-8-sig"中sig全拼为 signature 也就是...

人生苦短,我用python 3万+

manimgl安装

安装manimgl

happytree001的博客 710

UTF-8-SIG 和 UTF-8 with BOM 有什么区别,该怎么选

用 Sublime Text 打开一个文件,出现一个框框,提示要点选或。

e5pool的博客 2401

红外图像处理实战:用MATLAB实现时域高通滤波(THPF)去噪(附完整代码)

本文详细介绍了如何利用MATLAB实现时域高通滤波(THPF)算法进行红外图像去噪,包括核心原理、工程实现要点和完整代码示例。通过分析时间窗口选择、空域预处理优化和自适应参数调整等关键点,帮助开发者有效抑制固定图案噪声,适用于无人机载红外监测和安防监控等场景。

weixin_42783709的博客 183

Jasypt 开源加密库使用教程

Jasypt 加密框架概述 1、Jasypt Spring Boot 为 spring boot 应用程序中的属性源提供加密支持,出于安全考虑,Spring boot 配置文件中的敏感信息通常需要对它进行加密/脱敏处理,尽量不使用明文,要实现这一点,办法有很多,自己手动对敏感信息进行加解密也是可以的。 2、有需求就有人奉献,Jasypt 开源安全框架就是专门用于处理 Spring boot 属性加密的,在配置文件中直接配置密文,然后应用启动的时候,Jasypt 会自动将密码解密成明文供程序使用。 3、

蚩尤后裔-汪茂雄 3万+

【Python 必会技巧】利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题

先举个例子,分别以不指定编码、指定编码为 utf-8、指定编码为 utf-8-sig 三种方式来做比较,再将写入 csv 文件和 txt 文件来做个对比 一、不指定编码方式,直接存入 csv 文件 import csv with open('test.csv', 'w') as fp: writer = csv.writer(fp) writer.writerow(['汉语',...

BOB'S BLOG 1万+

Harmony:C# 动态代码补丁的5大秘密武器

Harmony 是一个开源库,它允许你在运行时修改托管代码(即使用 .NET 或 Mono 编译的语言编写的应用程序)。它通过利用 AOP(面向切面编程)的思想,可以在不重新编译代码的情况下添加、替换或修改方法的行为。这对于游戏模组(Modding)、插件开发以及调试工具非常有用。安装 Harmony要使用 Harmony,你需要首先安装它。Harmony 作为一个 NuGet 包,可以直接通过 Visual Studio 的 NuGet 包管理器进行安装。安装步骤打开 Visual Studio。

java专栏 1193

【python】UTF-8和UTF-8sig编码区别

json文件读取成dataframe出现了yurf-8编码错误

zoetu 4008

全新YOLO26有效涨点改进专栏目录 | 本专栏持续更新500+篇内容 | 包含各种卷积、主干网络、各种注意力机制、检测头、损失函数、小目标检测改进、二次创新模块、独家创新等几百种创新点改进

🔥《2026年YOLO26改进专栏》🔥 🚀持续更新500+最前沿创新改进点(顶会顶刊论文/独家创新策略),涵盖主干网络、各种卷积、注意力机制、检测头等模块,助力科研论文发表与模型性能提升,支持检测/分割/分类任务。订阅即获完整可运行项目,提供专业QQ答疑群,适合科研发论文(SCI/CCF/核心)及工业应用(PCB/医学/遥感检测)。专栏价格将逐步上涨,早订更优惠! ⭐特色:非计算机专业友好、模块可自由组合、全网独家创新;📌适用:研究生大论文和小论文创新、小目标检测、多领域科研应用,满足不同研究需求。

Ai缝合怪、助力小伙伴高效发论文 5176

[QMT量化交易小白入门]-七、可转债双低策略Python代码详解与实战

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 3903

utf-8和utf-8-sig的区别 CSV文件 乱码

前言:在写入csv文件中,出现了乱码的问题。 解决:utf-8 改为utf-8-sig 区别如下: 1、”utf-8“ 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理, 也就会发生类似上边的错误. 2、“uft-8-sig"中sig全拼为 signature 也就是"带有签名的utf-8”, 因此"utf-8-sig"读取带有BOM的"utf-8文件时"会把BOM单独处

大西瓜不甜的博客 1116

uniapp - 解决App端(安卓/苹果)使用uni.openlocation跳转第三方高德地图白屏问题,安卓苹果ios平台使用应用内置地图查看位置打不开,打包后App高德地图页面白屏不显示的问题!

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,高德地图白屏,uniapp调用内置高德地图白屏,uniApp使用uni.openlocation空白不显示地图,uniappapp端如何解决openlocation地图不显示问题,打开第三方地图显示位置地图没反应,uni.openlocation跳转第三方高德地图,APP端白屏问题,使用uni.openlocation跳转到第三方导航软件的时候,app端跳转的是高德地图,但是白屏没有反应,打包发布后白

🏆 前端领域优质创作者 1万+

python utf 8-sig_python 字符串编码 ,区别 utf-8 和utf-8-sig

Python 读取文件首行多了"\ufeff"字符串python读取B.txt文件时,控制台打印首行正常,但是若是用首行内容打开文本的话,就会报错:Traceback (most recent call last):AFile "E:/python project/multiProcess/test.py", line 32, in with open("%s.txt" % line, 'r', ...

weixin_39756540的博客 1329

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python 字符串编码 ,区别 utf-8 和utf-8-sig

python读取B.txt文件时,控制台打印首行正常,但是若是用首行内容打开文本的话,就会报错: Traceback (most recent call last): A File “E:/python project/multiProcess/test.py”, line 32, in with open("%s.txt" % line, ‘r’, encoding=‘utf-8’) as ...

weixin_45105469的博客 970

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

linux一般utf8签名吗,utf-8和utf-8-sig的区别

utf-8保存的csv格式文件要让Excel正常打开的话,需要在文件最前面加入BOM(Byte order mark)。如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。所以在write文件的内容数据之前,先write一下BOM。如下面代码FileOutputStream fos = new FileOutputStream(new File(this.csvFileAbs...

weixin_34473897的博客 601

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python 写入网页文件乱码问题、UTF-8和UTF-8-sig的区别、什么是BOM(Byte Order Mark)

出现乱码的源代码: with open('收盘价Dashboard.html','w',encoding='utf-8') as html_file: html_file.write('<html><head><title>收盘价Dashboard</title><metacharset="utf-8"></head&g...

richand112233的博客 2409

ValueError: could not convert string to float: '\ufeff6'错误解决(UTF-8和UTF-8-sig的区别)

1 解决方案 载入csv文件,代码如下 def loadCsv(filename): lines = csv.reader(open(filename, "rt", encoding="UTF-8")) dataset = list(lines) for i in range(len(dataset)): dataset[i] = [float(...

idwtwt的专栏 1万+

python utf 8-sig_Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题

先举个例子,分别以不指定编码、指定编码为 utf-8、指定编码为 utf-8-sig 三种方式来做比较,再将写入 csv 文件和 txt 文件来做个对比一、不指定编码方式,直接存入 csv 文件import csvwith open('test.csv', 'w') as fp:writer = csv.writer(fp)writer.writerow(['汉语', '俄语', '韩语', '日...

weixin_39640904的博客 781

【爬虫问题】解决UTF-8和UTF-8-SIG编码格式的问题

问题:在写入csv文件中,出现了乱码的问题。 解决:utf-8 改为utf-8-sig utf-8 和utf-8-sig区别如下: 1、”utf-8“ 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理, 也就会发生类似上边的错误. 2、“uft-8-sig"中sig全拼为 signature 也就是 "带有签名的utf-8”, 因此"utf-8-sig"读取带有BOM的"utf-

weixin_49340599的博客 1484

pipreqs生成requirements.txt报错SyntaxError: invalid non-printable character U+FEFF

utf-8是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理,也就会发生类似上边的错误。uft-8-sig中“sig”全拼为 signature,也就是"带有签名的utf-8”,因此"utf-8-sig"读取带有BOM的utf-8文件时,会把BOM单独处理,与文本内容隔离开,也是我们期望的结果。方法一看着很简单,但是对我没用,因为我的文件右下角的编码是灰色的,不能修改。

craftsman2020的博客 1655
上一篇: 关于selenium爬虫自动登录爬取数据及自动精准抢购利器
下一篇: 关于java工具包JDK逐帧保姆式安装与环境变量的配置
澄绪猿
博客等级 码龄4年 1323粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值