【发布时间】:2020-12-24 14:25:45
【问题描述】:
正在尝试将 mp4 和 wav 文件写入字节数组,以便我能够与其他应用程序共享它们。将不胜感激任何帮助。谢谢
【问题讨论】:
标签: javascript android nativescript
正在尝试将 mp4 和 wav 文件写入字节数组,以便我能够与其他应用程序共享它们。将不胜感激任何帮助。谢谢
【问题讨论】:
标签: javascript android nativescript
如果我假设您使用的是python,那么它与阅读text_file 或video_file 相同。
假设你的文件名是test.ts,那么你可以使用下面的函数。
def get_bytes_from_file(filename):
return open(filename, "rb").read()
get_bytes_from_file("test.ts")
您还可以使用 scipy inbuild 函数 scipy.io.wavfile.read 和/或 scipy.io.wavfile.write.Refer this.
如果您想将十进制值转换为二进制,可以使用以下命令:
In [3]: import numpy as np
...:
...: def bitfield(n):
...: """Convert integer into bitfield (as list)
...: From StackOverflow: http://stackoverflow.com/a/10322018/
...: """
...: return [int(digit) for digit in bin(n)[2:]]
...:
In [4]: p = 0x91
...: p = np.array(bitfield(p))
In [5]: p
Out[5]: array([1, 0, 0, 1, 0, 0, 0, 1])
如果你想将字符串消息转换为二进制,你可以使用这个:
In [1]: import numpy as np
import codecs
In[2]: s = '44.6488N,63.5752W,20.5,2.25,125.6,11.5,6.8,T10.5,271.4,35.5,44.6491N,63.5755W'.encode('utf-8')
In[4]: s.hex()
Out[4]: '34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557'
In[10]: print(codecs.decode("34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557", "hex").decode('utf-8'))
Out[10]: 44.6488N,63.5752W,20.5,2.25,125.6,11.5,6.8,T10.5,271.4,35.5,44.6491N,63.5755W
In[11]: hex_string = "34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557"
for i in range(len(hex_string)//2):
print('{0}'.format(hex_string[i*2:i*2+2]), end=":")
Out[11]: 34:34:2e:36:34:38:38:4e:2c:36:33:2e:35:37:35:32:57:2c:32:30:2e:35:2c:32:2e:32:35:2c:31:32:35:2e:36:2c:31:31:2e:35:2c:36:2e:38:2c:54:31:30:2e:35:2c:32:37:31:2e:34:2c:33:35:2e:35:2c:34:34:2e:36:34:39:31:4e:2c:36:33:2e:35:37:35:35:57:
In[12]: p = '34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557'
p = int(p, 16)
p = np.array(bitfield(p))
p
Out[12] : array([1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0,
0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1,
0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1,
1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1,
0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0,
1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0,
0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1,
0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1,
0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0,
1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1,
0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1,
0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1,
1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0,
0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0,
1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0,
0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1,
0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0,
1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0,
0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1,
1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1,
0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1])
【讨论】: