Python二进制串转换为通用字符串的方法
作者:张土豆 发布时间:2022-09-30 19:36:11
一个小问题
今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理。
Python代码的编码规则为UTF-8。在读入时,文件的每行是二进制串,形如:
b'heroes\xff.....
在对每行进一步进行处理时,要求处理对象必须为通用字符串,所以:
lineVec = str(line).strip().split('\t')
此时的lineVec的元素类型为string,但输出是仍然是 “b'heros\xff…..” ,仍然无法摆脱二进制标志的影响。然而,尴尬的是,在后边对以lineVec元素作为键的字典进行索引时,只能获得通用字符串的键。所以,每次索引都以KeyError退出。
在多次尝试之后,我发现:二进制串在经过str()函数转化之后,已经将所有的内容都转化成了一个通用的字符串。也就是说,“b'heros\xff……”中的所有字符都是可以用python的字符串处理手段处理的。
给定一个 word=”b'heros”,如果希望得到通用字符串形式的单词”heros”,那么我们可以直接取字符串word的第3至最后一个字母,或将“b'”直接替换掉:
newWord = word[2:-1]
#或
newWord = word.replace("b'",'') #因为单引号是python中表示字符串的特殊功能字符,所以被替换的字
符写作'b''会报错。需要用双引号把单引号括起来。
在用上面的方法把字典键都更新了一遍之后,世界瞬间和谐了。
一些扩充
在解决上边的问题的过程中,搜索了许多相关的解决方法,对python中二进制串与通用字符串之间的转换有了一定的了解。但都是关于纯英语字符串转换的,对上边的中文字符无用。用下面方法转换中文字符串时会出现编码错误。
给定通用字符串 string = ‘a string' , 需要把它转换为二进制串时,可以直接调用字符串的内置方法:
print string
>>>a string
bstring = string.encode('ascii') # encode方法,参数用来指定编码标准
print bstring
>>>b'a string'
string1 = bstring.decode('ascii') # encode的逆,对二进制串进行解码
print string1
>>>a string
在进行文本文件读入和解析时,经常会遇到这样的二进制问题,希望对大家有所帮助。
来源:https://blog.csdn.net/potato012345/article/details/78079213
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 如图输入如下命令python manage.py startapp apitest添加应用到 autotest项目项目下在settings.
- 本文介绍基于PowerShell语言,对文件夹中全部文件的名称加以批量替换、修改的方法。在之前的文章基于Python实现自动批量修改文件名称
- 一直以来都对DOMDocument与 XMLHTTP 两者的区别不甚了解,今天用 eXeScope 查看了msxml6.dll 内
- 如何显示一个等待或欢迎信息? <% Response.Buffer = True %
- 网站开发时经常需要在某个页面需要实现对大量图片的浏览,如果考虑流量的话,大可以像pconline一样每个页面只显示一张图片,让用户每看一张图
- 一、react-reduxreact-redux依赖于redux工作。 运行安装命令:npm i react-redux:使用: 将Prov
- 一、数据类型在tf中,数据类型有整型(默认是int32),浮点型(默认是float32),以及布尔型,字符串。二、数据类型信息①.devic
- Mysql调优Explain工具详解以及实战演练 Explain工具介绍Explain分析示例explain 两个变种explain中的列
- 网页中的javascript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以
- 使用Keras训练好的模型用来直接进行预测,这个时候我们该怎么做呢?【我这里使用的就是一个图片分类网络】现在让我来说说怎么样使用已经训练好的
- 前言今天教大家用wrodcloud模块来生成词云,我读取了一篇小说并生成了词云,先看一下效果图:效果图一:效果图二:根据效果图分析的还是比较
- 一、线性回归的理论1)线性回归的基本概念线性回归是一种有监督的学习算法,它介绍的自变量的和因变量的之间的线性的相关关系,分为一元线性回归和多
- 一:自动化了解知识工具安装什么样的项目适合做自动化?自动化测试一般在什么阶段开始实施?你们公司自动化的脚本谁来维护?如何维护?自动化用例覆盖
- 在Numpy中经常使用到的操作由扁平化操作,Numpy提供了两个函数进行此操作,他们的功能相同,但在内存上有很大的不同.先来看这两个函数的使
- 本文实例为大家分享了readAsDataUrl方法预览图片的具体代码,供大家参考,具体内容如下<html> <head&
- 2天内的现实new文字 <%if DateDiff("d",rs("date"),date()
- Image控件又称图像控件,主要用来显示用户的图片或图像信息。一、属性表1 Image控件常用属性及说明属性说明ID控件IDImageAli
- anaconda用法:查看已经安装的包:pip list 或者 conda list安装和更新:pip install requestspi
- python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,pyth
- 设置项目气动执行次方法(每天检查一次表记录)public class DayInterval implements ServletConte