rosbag遍历数据出错:(unicode error) 'utf-8' codec can't decode byte 0xcd in position 31: invalid continuation byte
主题:
前言
针对ros系统记录的bag文件,可以使用python的rosbag包,按照不同起止时间和topic进行提取。
然而,有的topic可以使用rosbag读取,但是不能遍历,存在解码错误。原因应该是存在中文字符的注释, 这个可以在函数生成的temp.py中看到。
python提取bag文件时发生解码错误:
unicode error) 'utf-8' codec can't decode byte 0xcd in position 31: invalid continuation byte


编译环境:windows visual studio2019,pycharm也有如此问题,即使将file encoding 改成其它编码方式,如GB2312也不行
解决方法:
使用linux环境下的python提取,即可避免此解码问题
本人使用ubuntu下的pycharm进行提取,即可正常进行。两种系统下pycharm的界面、用法完全一致。
安装rosbag:
本人使用pip包管理器,直接安装rosbag是不行的,在网上搜了好久才看到一个靠谱的方法,安装命令如下:
·pip install rosbag --extra-index-url https://rospypi.github.io/simple/
参考链接: python3 安装rosbag等package
其实主要是手动添加网址
注意有时国内网打不开这个网址,如下图所示。可以等一段时间,好使了再安装

rosbag遍历数据出错:(unicode error) 'utf-8' codec can't decode byte 0xcd in position 31: invalid continuation byte的更多相关文章
- SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xd0 in position 2: invalid continuation byte
[root@hostuser src]# python3 subprocess_popen.py File "subprocess_popen.py", line 23Syntax ...
- windows系统下python setup.py install ---出现cl问题,cpp_extension.py:237: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte
将cpp_extension.py文件中的 原始的是 compiler_info.decode() try: if sys.platform.startswith('linux'): minimu ...
- Python3 使用requests请求,解码时出错:'utf8' codec can't decode byte 0x8b in position 1: invalid start byte
requests请求的响应内容能够通过几个属性获得: response.text 为解码之后的内容,解码会根据响应的HTTP Header中的Content-Type选择字符集.例如 "'C ...
- Python3 使用requests请求,解码时出错:'utf8' codec can't decode byte 0x83 in position 1: invalid start byte
requests请求的响应内容能够通过几个属性获得: response.text 为解码之后的内容,解码会根据响应的HTTP Header中的Content-Type选择字符集.例如 1 " ...
- python调试出现报错:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb0 in position 9: invalid start byte
原因:如图,代码里字符串里加上汉字就会报相关错误: 解决办法:开头加上 #-*-coding:GBK -*- 即可解决
- pydensecrf安装报错1、UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 29: invalid start byte2、 LINK : fatal error LNK1158: 无法运行“rc.exe” error: command 'D:\\software\\vs2015\\VC\\BIN
pydensecrf安装报错 1.UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 29: invalid st ...
- 中文数据解码报错 UnicodeDecodeError: 'gbk' codec can't decode bytes in position 2-3: illegal multibyte sequence
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 2-3: illegal multibyte sequence 失败原因: ...
- SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xce in position 0: invalid continuatio
点击 文档>>设置文件编码>>Unicode>>Unicode(UTF-8)
- #python# error:UnicodeEncodeError: 'latin-1' codec can't encode character '\u2026' in position 30: ordinal not in range(256)
headers={ 'Referer':'https://www.lagou.com/jobs/lis-rds=&fromSearch=true&suginput=', 'User-A ...
随机推荐
- Oracle数据库包括两个部分数据库和数据库实例
olsnodes,这个命令用来显示集群点列表(grid即oracle rac的第三个安装包内的软件,可找到) //集群名称[grid@shdb02 ~]$ olsnodes -cshfpdb-clus ...
- kali下安装docker
前期准备 物理机:win10 虚拟机:kali 2021 网络连接方式:桥接 一.简介 Vulhub: 是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞 ...
- 【LeetCode】24.两两交换链表中的节点
24.两两交换链表中的节点 知识点:链表 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 示例 1 ...
- innodb源码解析 - mem0_.c - 基本内存管理
The basic element of the memory management is called a memoryheap. A memory heap is conceptually ast ...
- xss攻击和防御
简介 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允 ...
- Python小游戏——猜数字
1 print("--------------我爱鱼-----------") 2 temp = input("不妨猜一下甲鱼现在心里想的是哪个数字:") 3 ...
- -5.C++读入一行字符串
-5.C++读入一行字符串 cin.getline(char * str, int size_t, char delim) 头文件: #include<iostream> 参数1:字符数组 ...
- Day 006:PAT练习--1005 Spell It Right (20 分)
上星期一直在写报告乱七八糟的,从今天开始不刷乙级的了,还是多刷甲级进步来得快一点! 显而易见,该题的关键在于将输入之和的每一位从高到低输出,这里我们发现题意中的输入数的范围为0-10^100,显然我们 ...
- Java基础语法Day_05(数组的概念)
第14节 数组 day05_01_数组的概念 day05_02_数组的定义格式一_动态初始化 day05_03_数组的定义格式二_静态初始化 day05_04_数组的定义格式三_省略的 ...
- [AcWing 822] 走方格
点击查看代码 #include<iostream> using namespace std; int n, m, ans = 0; void dfs(int x, int y) { if ...