我是靠谱客的博主 糊涂胡萝卜,最近开发中收集的这篇文章主要介绍[MTK FP]用Python把二进制音频/图片文件转为数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

    在MTK平台,音频/图片文件基本以数组的形式存在,一般MTK会提供工具来转换音频/图片文件为数组。

    这里使用python来实现把二进制文件转为数组,目的有两个:

   1. 把python程序转换的二进制数组替换目前代码中已有的数组,可以实现快速验证;
   2. 对于比较大的二进制文件,MTK提供的工具未必支持转换,这个时候就可以用这里的python程序来转换。

 

    下面是python程序,替换掉input_f和output_f为你输入的二进制文件盒输出数组的文件名称即可:

 

#  -*- coding: utf-8 -*-
#
 It is ok at python-3.3.1rc1.msi installer condition.

import os

def read_data_from_binary_file(filename, list_data):
    f = open(filename,  ' rb ')
    f.seek(0, 0)
     while True:
        t_byte = f.read(1)
         if len(t_byte) == 0:
             break
         else:
            list_data.append( " 0x%.2X " % ord(t_byte))

def write_data_to_text_file(filename, list_data):
    f_output = open(filename,  ' w+ ')
    f_output.write( ' __align(4) const U8 temp[] = n ')
    f_output.write( ' {n     ')

    count = 0
    lenth = len(list_data)
     for data  in list_data:
        count += 1
         if count != lenth:
            f_output.write(data+ ' ')
         else:
            f_output.write(data)
         if count%16==0:
            f_output.write( ' n     ')
    f_output.write( ' n}; ')
    f_output.close()

list_data = []
input_f = r ' python.gif '
output_f = r ' python.txt '
read_data_from_binary_file(input_f, list_data)
write_data_to_text_file(output_f, list_data)


    上面示例中的python.gif文件:

   

    生成的数组如下:

 

__align( 4const U8 temp[] = 
{
     0x470x490x460x380x390x610x0E0x000x0F0x000xA20xFF0x000x000x000x00
     0x000xFF0x000xFF0x000x000xC00xC00xC00xFF0xFF0x000x800x800x000x00
     0x000xFF0x000x000x000x210xF90x040x010x000x000x030x000x2C0x000x00
     0x000x000x0E0x000x0F0x000x400x030x420x380x0A0xAC0xFE0x400x080x06
     0x420x010x8B0x950xCB0xF70x7D0x430x650x750x1B0xB60x180x800x710x99
     0x8E0x180xBC0x010x500x820xCC0x3B0x870xDF0x020xEF0x2C0x7E0x830x21
     0x000x410x280xCB0x2D0x3C0x9E0x110xAB0x360x890x550x8C0xA10x890x68
     0x260x330x4D0x570x9A0xDC0x150x190x1B0x240x000x000x3B
};

 

PS:目前MTK平台图片文件都有header,所以转换的数组要加上header才能生效,这里对于此只是一个示例,需要实现全功能的人可以自行修改程序。

转载于:https://www.cnblogs.com/landlitao/archive/2013/04/08/3012966.html

最后

以上就是糊涂胡萝卜为你收集整理的[MTK FP]用Python把二进制音频/图片文件转为数组的全部内容,希望文章能够帮你解决[MTK FP]用Python把二进制音频/图片文件转为数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部