首页 / PYTHON / Python将字节转换为字符串
Python将字节转换为字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python将字节转换为字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含916字,纯文字阅读大概需要2分钟。
内容图文
![Python将字节转换为字符串](/upload/InfoBanner/zyjiaocheng/795/03ae35eefd4443a69a5108ef68268445.jpg)
我有以下代码:
with open("heart.png", "rb") as f:
byte = f.read(1)
while byte:
byte = f.read(1)
strb = byte.decode("utf-8", "ignore")
print(strb)
从“heart.png”读取字节时,我必须读取十六进制字节,例如:
b'?x1a', b'?xff', b'?xa4', etc.
以及这种形式的字节:
b'A', b'D', b'O', b'D', b'E', etc. <- spells ADOBE
现在出于某种原因,当我使用上面的代码从字节转换为字符串时,它似乎不适用于十六进制形式的字节,但它适用于其他一切.
因此,当b’öx1a’出现时,它会将其转换为“”(空字符串)
当b’H’出现时,它将其转换为“H”
有谁知道为什么会这样?
解决方法:
这里发生了一些事情.
PNG file format可以包含以Latin-1或UTF-8编码的文本块. tEXt块以Latin-1编码,您需要使用’latin-1’编解码器对它们进行解码. iTXt块以UTF-8编码,需要使用’utf-8’编解码器进行解码.
但是,您似乎尝试解码单个字节,而UTF-8中的字符可能跨越多个字节.因此,假设您要读取UTF-8字符串,您应该在尝试解码之前读取要解码的字符串的整个长度.
如果您试图从文件中解释二进制数据,请查看专用于此目的的struct模块.
内容总结
以上是互联网集市为您收集整理的Python将字节转换为字符串全部内容,希望文章能够帮你解决Python将字节转换为字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。