标准Midi文件使用哪种编码?

古怪的

以下是提出此问题的原因:

with open(path + "/OneChance1.mid") as f:
  for line in f.readline():
        print(line)

在这里,我只是试图读取一个midi文件来搜索其内容。然后,我收到此错误消息:UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 153: character maps to <undefined>

如果我open()像这样使用第二个参数:with,open(path + "/OneChance1.mid"m encoding='utf-8) as f:则会收到此错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 13: invalid start byte

如果将编码参数更改为ascii,则会收到有关序数超出范围的另一个错误。最后,我尝试了utf-16,它说该文件不是以BOM表开头的(出于某种原因,这让我笑了)。另外,如果我忽略这些错误,则会得到与我期望的数据完全不同的字符。我的期望基于以下来源:http : //www.sonicspot.com/guide/midifiles.html

无论如何,有人知道Midi文件使用哪种编码吗?在这方面,我的研究不足,所以我认为值得提出。也许有人可以指出其他可能性或错误?

马丁·彼得斯(Martijn Pieters)

MIDI文件是二进制内容但是,通过将文件打开为文本文件,Python在尝试将文本解码为Unicode时会应用默认的系统编码。

而是二进制模式打开文件

with open(midifile, 'rb') as mfile:
    leader = mfile.read(4)
    if leader != b'MThd':
        raise ValueError('Not a MIDI file!')

你必须学习MIDI标准文件格式,如果你想了解从该文件的更多。另请参见MIDI文件的结构是什么?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

标准Midi文件使用哪种编码?

来自分类Dev

iOS写入CSV文件:使用哪种编码

来自分类Dev

TFS合并冲突:应该使用哪种源文件编码?

来自分类Dev

如何查看文件中使用了哪种编码

来自分类Dev

保存php文件-与MySQL一起使用时应使用哪种编码

来自分类Dev

IPython终端使用哪种字符编码?

来自分类Dev

使用哪种编码才能使ÅÄÖ工作

来自分类Dev

使用CoreMidi的MIDI文件的速度

来自分类Dev

使用C#使用哪种编码来创建MS-DOS txt文件(UTF8Encoding与Encoding)

来自分类Dev

使用NAudio在MIDI文件中设置MIDI速度

来自分类Dev

readdir以哪种编码返回文件名?

来自分类Dev

如何知道路由器使用哪种802.11标准

来自分类Dev

grep使用哪种正则表达式标准?

来自分类Dev

使用pygame播放流中的MIDI文件

来自分类Dev

调用Oracle PL / SQL过程时使用哪种编码

来自分类Dev

西里尔字母应使用哪种编码?

来自分类Dev

我的Android Studio项目应使用哪种编码?

来自分类Dev

这些ANSI艺术作品使用哪种编码类型?

来自分类Dev

Linux上默认使用哪种终端编码,最常见?

来自分类Dev

password_hash()应该使用哪种列字符编码?

来自分类Dev

Dockerfile编码是哪种?

来自分类Dev

Bandicam进行哪种编码?

来自分类Dev

标准文本文件的gedit怪异编码

来自分类Dev

在缩小JavaScript文件之前,是否需要遵循任何编码标准?

来自分类Dev

Python使用哪种字节序写入文件?

来自分类Dev

Java的文件写入使用哪种设计模式?

来自分类Dev

idesign c#编码标准-使用预定义的类型

来自分类Dev

使用ANSI编码标准创建实例化视图

来自分类Dev

使用NAudio从MIDI文件的一部分读取MIDI事件和消息

Related 相关文章

热门标签

归档