问题标签 [bytestream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 需要将一个字节类分割成单独的部分,然后在 python 中重新发送
我正在尝试将这个传入的字节字符串分解为少量的 10 字节部分,以便重新发送。我到处寻找,但我相信答案很简单,我只是忽略了它。
这是我打印到终端 b'\xd3\x00\x16E\xd0\x00q\\x1d\xf6?\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00 的示例\x00\x00\x00\x00\x0ff\r'
我希望在 python 中做到这一点。这些消息的大小会有所不同,因此我需要在任何时候以 10 字节为单位使其尽可能少。
提前致谢
TG
c# - 将 File.ReadAllBytes 的结果转换为 File 对象而不实际写入
一个模块使用
并将结果存储在数据库表中。
后来我从表中取出结果并正常使用
写回文件。
现在我必须更改文件的内容。当然,我可以将文件写入临时文件夹,将其作为 File 对象读回,对其进行更改,然后将其写回目标文件夹。但是有没有更聪明的方法来做到这一点?直接从二进制数据中创建 File 对象?
python - Python Ctype 用 char 数组创建结构/指针中断
我有一个 google protobuf 序列化字符串(它是一个序列化字符串),它包含文本、mac 地址和 ip 地址(以字节为单位)。我正在尝试使用 python c 类型用这个字符串制作 ac 结构。如果我的 mac 或 ip 包含连续的零,它将破坏要打包在结构中的字符串。bytesarray 将被 0 填充。
如果 char 数组中没有连续的零,这将完美地工作。
python - 有人可以举例解释 MPEG2 TS(传输流)字节结构吗?
我正在尝试了解 TS 字节结构,我在维基百科上找到了一个来源,但没有示例我无法完全理解,我只是了解一个 TS 文件包含一组 188 字节的口袋,其中包含同步字节 0x47 标头和有效负载数据。但我无法理解有效载荷数据如何描述视频和音轨信息。
有人可以深入描述 TS 字节结构或给我更好的来源,我可以更好地理解。
python - 原始 wav 字节到 uint 数组或其他格式
我需要将文件作为字节读取才能使用该webrtcvad
库。我在他的github中的示例中这样做了:
但是现在我需要将这个字节数组转换为我可以使用的东西,我正在这样做(就像在这里看到的那样):
它wav_bytes
是来自的 pcm_data read_wav
。
如果我使用读取相同的文件librosa.load
并绘制它,我会得到这样的结果:
它应该是什么wav_r
样子。
那么关于如何正确地将字节转换为我可以使用的数组的任何想法?
谢谢!
PD:我也尝试过使用 int8 而不是 uint8,它给了我这个,但仍然不正确:
java - 扩展ascii的base64编码
我正在从 IoT 设备接收二进制文件。我正在尝试将一些由最多 13 个字节的列表组成的标识符转换为可能的最小可读字符串。
为此,我一直将其解码为 Base64,然后将字节转换为十六进制,以便
byte[] bytes = {0x24, 0x54, 0x4b, 0x00, 0x31, 0x00, 0x0e, 0x50, 0x33, 0x42, 0x58, 0x35};
变成
4CAD4FDC15F9
但是,当我在扩展 ascii 中接收字节时(在调试器中,字节显示为负值),转换为 base64 会返回一个空的字节数组。
我一直在使用 org.apache.tomcat.util.codec.binary.Base64 在其文档中确实提到它没有考虑文档中提到的扩展 ASCII 字符:
由于此类直接在字节流上操作,而不是字符流,因此它被硬编码为仅 * 编码/解码与较低 127 ASCII 图表(ISO-8859-1、Windows-1252、* UTF- 8 等)。
我还尝试了 java.util.Base64,它适用于第一个字节数组,并使用第二个字节数组引发异常:
19:39:31.946 [main] 错误 com.trackener.backend.api.device.service.DeviceService - 消息处理失败 java.lang.IllegalArgumentException:最后一个单元在 java.util.Base64$Decoder.decode0 处没有足够的有效位(Base64.java:734) 在 java.util.Base64$Decoder.decode(Base64.java:526)
如何使用扩展 ascii 中的特殊字符将字节转换为这个小的 base64 字符串? 如果我可以用另一种方法来做到这一点(从字节数组中获取一个包含尽可能少字符的唯一代码),我也会很高兴。
python-3.x - Python元组数据字节到字符串的简单方法?
我正在使用套接字,结构用于通过 tcp/ip 协议接收和解包接收到的字节消息,我得到的元组包含数字数据以及按照合同定义的顺序的字节。示例数据如下...
示例:从 tcp ip 接收缓冲区数据
将字节解压缩为预定义的结构格式
因为数据是高度流式传输的并且执行时间很重要......我不想通过使用任何循环和 isinstance() 方法来加载 cpu。由于定义了字节的位置,所以我目前使用 as
有没有什么神奇的方法可以一次性将字节转换为所需的字符串,因为字节的位置是已知的......??
java - 将一个 .flv 视频文件附加到另一个
我正在尝试将两个 .flv 视频文件合并为一个,但即使输出文件的大小恰好是我尝试合并的两个视频的总和 -1,当我尝试播放新视频文件时,它也会播放第一个文件。我确定这与在将第一个视频读入输出流后设置的结束标志有关,但我不确定如何解决这个问题并将其删除,以便视频一直播放。我确保这两个文件的编码方式完全相同,因为我刚刚从 obs 录制了一些全屏颜色作为我的测试视频。无论如何,我将如何解决这个问题?
scala - Akka 源发送不完整的消息
我通过akka Source和Tcp将字节作为字节串数组发送,完整数组的长度包括:begin ++ len ++ gzip ++ sign ++ term
是997,但只有710字节到达服务器。代码在这里:
服务器接受并成功处理前 710 个字节。服务器上没有问题,因为当我尝试从另一个客户端发送这些字节时,消息完成了。有什么想法可以与问题联系起来吗?或者可能有人可以建议如何将消息分成两部分并通过一个连接发送?
java - java ObjectOutputStream方法的defaultWriteObject和writeObject的异同
我正在尝试了解java序列化机制,我几乎没有疑问
请回答以下有关 java 序列化的问题:
- 我们为什么使用
oos.defaultWriteObject();
? 根据这篇文章,它在那里是为了向后兼容。而且我不太明白它是如何实现的。序列化的不兼容更改之一是删除较新版本中的字段。这意味着旧版本必须设置有时对用户无效的默认值。这与添加新字段并允许设置默认值的新版本有何不同? - 在自定义序列化期间,同时使用两者是否有任何区别,
oos.defaultWriteObject();
两者oos.writeObject(address);
是否做同样的事情?我的意思是两者都将所有超类和当前类的非瞬态非静态字段写入OOS。
这里
上面的代码产生与下面的代码相同的结果
什么时候使用这两种方法,什么时候只使用 writeObject(employee); //员工是我的全部对象//
- 这是无法回答我的问题的可能重复问题的列表。
- 问题 1它说 * 如果在写入可选数据(如果有)之前未调用一次 defaultWriteObject 或 writeFields,那么在 ObjectInputStream* 但我仍然可以在不使用 deafultwriteobject.right 的情况下调用 writeObject 的情况下,实例反序列化的行为是未定义的?
- 问题 2这些答案说 defaultwriteobject 方法将一些额外的数据写入流,并反射性地检查要写入的内容。oos.writeobject(object obj) 不也反射性地检查吗?
- 最后我可以通过重写 writeObject 和 ReadObject 方法来控制我的序列化,那么 Externalizable 有什么意义呢?
- 如果提供串行 versionUID 不会引发异常,如果我反序列化具有该字段的旧类中缺少字段的对象会发生什么,基本上,如果我提供自己的 SerialverUID,所有不兼容的更改会发生什么?它是否拥有自己的串行版本 UID 不会为所有兼容更改引发流损坏异常?