【问题标题】:Read any file (image ,mp3 ,or video ,or text ) in binary format in python在python中以二进制格式读取任何文件(图像,mp3,或视频,或文本)
【发布时间】: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有什么意义?

标签: python


【解决方案1】:

我相信您的问题与 Python 并不严格相关,而是与任何语言相关,因为问题涉及:What is a binary file。二进制文件只是01(很多时候直接在hexa 中读取),你必须知道保存的结构(通常是struct)是serialized

因此,您必须知道您正在阅读的文件类型,并且有一个知道该特定文件的二进制结构的解析器。这就是为什么你有图书馆。每个库知道一种或多种类型的文件要读/写。在 Linux 中(例如),扩展名完全无关紧要,文件的内容才是最重要的。

为了更准确地满足您的要求,一些链接可以帮助您通过How to read/process <your-file-format> in python(知道扩展名并不重要,文件格式很重要!)

【讨论】:

    猜你喜欢
    • 2011-01-19
    • 2017-04-27
    • 2020-10-28
    • 2011-12-09
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多