一个小问题

今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理。

Python代码的编码规则为UTF-8。在读入时,文件的每行是二进制串,形如:

b'heroesxff.....

在对每行进一步进行处理时,要求处理对象必须为通用字符串,所以:

lineVec = str(line).strip().split('t')

此时的lineVec的元素类型为string,但输出是仍然是 “b'herosxff…..” ,仍然无法摆脱二进制标志的影响。然而,尴尬的是,在后边对以lineVec元素作为键的字典进行索引时,只能获得通用字符串的键。所以,每次索引都以KeyError退出。

在多次尝试之后,我发现:二进制串在经过str()函数转化之后,已经将所有的内容都转化成了一个通用的字符串。也就是说,“b'herosxff……”中的所有字符都是可以用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

在进行文本文件读入和解析时,经常会遇到这样的二进制问题,希望对大家有所帮助。

以上这篇Python二进制串转换为通用字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python 二进制数 转字符串_Python二进制串转换为通用字符串的方法相关推荐

  1. python二进制转字符串_Python二进制串转换为通用字符串

    一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如:b'heroes\xff..... ...

  2. python如何把二进制转文本_Python二进制串转换为通用字符串的方法

    一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如: b'heroes\xff..... ...

  3. pythonunicode转为字符串_python中将 \\uxxxx转换为 Unicode字符串

    今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串,如下: 将 \\u9500\\u552e 转化为 \u9500\u552e 也就是 销售 . 乍一看感 ...

  4. Python中整数移位及二进制串操作

    Python中整数移位及二进制串操作 最近一个项目涉及到电压数据的接收和可视化处理.其中电压数据是由FPGA通过TCP协议传输的二进制流,软件接收端需要安装数据帧格式进行解析后处理.由于嵌入式组的FP ...

  5. 将32位的ip二进制串转换为十进制

    /******************** 将32位的ip二进制串转换为十进制 **************************/ #define MAX 32 #include<stdio ...

  6. 二进制数据转换为十六进制字符串

    // 环境:Windows 10,64bit,VS2017 Enterprise x64 // 二进制数据转换为十六进制字符串 /// // @name: DataToHexString // @br ...

  7. Python 字符串与二进制串的相互转换

    一个问题,在Python中,如何将一个字符串转换为相应的二进制串(01形式表示),并且能够将这个二进制串再转换回原来的字符串. 一个简单版本 def encode(s):return ' '.join ...

  8. python列表换行输出_Python从列表转换为字符串时处理换行符

    我有一个关于换行符和返回字符的问题.呃,这很难解释,但我会尽力的. 我有列表形式的数据.列表的成员中有换行符,因此. 1 2 3example_list = ["I've always lo ...

  9. python输出数字和字符串_Python中的数值和字符串

    一.Python中的数值 python中的数值分为三类:整型.浮点型和复数 1.整型: python3的整型支持各种类型的整数: python的整数值有4种表达形式: a.十进制形式,最普通的整数就是 ...

最新文章

  1. When is abap.js loaded by Launchpad
  2. HashMap 的 7 种遍历方式与性能分析!「修正篇」
  3. SEO优化篇 - 搜索引擎抓取href=#!锚点
  4. 继承 java 1614784316
  5. 金蝶移动bos开发教程_移动安全(四)|NDK开发教程_JavaToC
  6. python清除数据库表命令_数据库----Python操作数据库
  7. HTML5项目实战之旅行社网站——PC端固定布局
  8. 如何激活Office 2016(ProPlus/Visio2016/Project2016) VOL 简体中文版下载地址和安装方法哦
  9. 计算机标题怎么操作,电脑的ppt 一级,二级,三级标题怎么设置
  10. 为什么大家都说SELECT * 效率低
  11. Win10电脑 安装 逍遥模拟器【安装步骤、使用指南、逍遥多开器、卸载“逍遥模拟器”、安装手机软件示例“学习国防”】
  12. 贪心算法——皇后游戏(洛谷P2123)
  13. 银河麒麟系统开启root用户登录
  14. 七月与安生观后感—告别我的27岁
  15. 谁将泡泡玛特推上千亿市值神坛?
  16. 数据文件储存服务器入什么科目,云服务器会计上入什么科目
  17. rust拆除拆除指令_Rust 输出到命令行
  18. oracle instr函数(oracle 用instr 来代替 like)
  19. RF高速电路的电源走线方式
  20. 无法启动节点ERROR:cannot launch node of type [map_server/map_server]:map_server

热门文章

  1. LeetCode 131. 分割回文串(回溯)
  2. POJ 1936 字符匹配(水题)
  3. vue 高德地图 不同区域显示不同颜色_高德百度哪家强?苹果Carplay第三方分屏功能评测...
  4. 自定义_如何自定义协议
  5. 知识图谱论文阅读(九)【转】推荐系统遇到知识图谱之MKR模型
  6. 加快读博失败的10种方法
  7. 数据库的方向 - 行vs列(转自: IBM i 中国开发团队)
  8. 由Actvity启动模式之SingleInstance引起的坑的反思
  9. Reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are
  10. 64 求1+2+3+...+n(发散思维能力 )