在python中以二进制格式读取任何文件(图像,mp3,或视频,或文本)
Posted
技术标签:
【中文标题】在python中以二进制格式读取任何文件(图像,mp3,或视频,或文本)【英文标题】:Read any file (image ,mp3 ,or video ,or text ) in binary format in python 【发布时间】:2020-02-17 19:05:29 【问题描述】:这是我将字符串转换为二进制格式的尝试:
std ="this is the code"
res=''.join(format(ord(i),'b')for i in test_str)
print(" this is the conversion "+str(res))
输出:
这是转换 11101001101000110100111100111000001101001111001110000011101001101000110010110000011000111101111110010 01100101
file(ex.text,video,mp3 etc)
的二进制类型怎么办?
【问题讨论】:
你的实际目标是什么?如果你可以打印“这个 MP3 文件是 001010111010100101...”,那会完成什么?这很可能是基于对二进制数据的误解而建立的XY problem。 在这里我想将视频、mp3、图像等文件转换成这种 0 和 1 格式。可以吗?就像我对字符串所做的那样! ...对,但是为什么? MP3 是一种二进制格式。把它转换成一串1和0有什么意义? 【参考方案1】:我相信您的问题与 Python 并不严格相关,而是与任何语言相关,因为问题涉及:What is a binary file。二进制文件只是0
和1
(很多时候直接在hexa
中读取),你必须知道保存的结构(通常是struct
)是serialized。
因此,您必须知道您正在阅读的文件类型,并且有一个知道该特定文件的二进制结构的解析器。这就是为什么你有图书馆。每个库知道一种或多种类型的文件要读/写。在 Linux 中(例如),扩展名完全无关紧要,文件的内容才是最重要的。
为了更准确地满足您的要求,一些链接可以帮助您通过How to read/process <your-file-format> in python
(知道扩展名并不重要,文件格式很重要!)
【讨论】:
以上是关于在python中以二进制格式读取任何文件(图像,mp3,或视频,或文本)的主要内容,如果未能解决你的问题,请参考以下文章