问题标签 [rawbytestring]

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.

0 投票
2 回答
1426 浏览

php - Delphi (FMX):Windows 中的 DCPCrypt2 在 Android/IOS 中产生不同的结果

我正在尝试编写一个函数,该函数在 Delphi (RAD Studio 10.2) 中返回与 PHP 中的以下代码相同的结果:

我在 Pascal 中提出了这个函数(使用 David Barton 编写的 DCPcrypt v2.1 库):

这确实有效(在 Windows 中)。PHP 和 Pascal 都返回:pEP16OOxov9QDfraIg==

但是,如果我为 Android 编译相同的代码并在我的平板电脑上运行它,我会得到一个非常不同的结果。这是为什么?

我确实阅读了有关为 fmx 转换代码的文档,特别是处理字符串处理的内容,但我仍然不明白为什么。即使 RawByteString 是基于 0 而不是基于 1,我仍然会有所不同(尝试使用 [0] 而不是 [1])。RawByteString 没有附加代码页,对吗?所以问题不能由一些字符串转换引起(我认为)。那么这里发生了什么?

0 投票
0 回答
82 浏览

python - 十六进制和混合在 Python 字节中的单词

我正在从 websocket 服务器接收帧,但我不确定如何解释某些字节对象,因为它们与其中的实际单词混合在一起。

我得到这样的东西: b'\x00\x17\x04\x00\x00\x00\xc0\x05FOCUS\x01\x00\xff\xfc\x00\x05;\xea\x01\x03\xe8\x81'

这个有'FOCUS'和';' 在里面。我期待“FOCUS”成为有效载荷的一部分,但我不知道为什么它会按原样显示,而不是十六进制形式。有人可以解释发生了什么以及如何解压缩其余数据吗?

此外,似乎我正在以相反的顺序获取数据。我认为\x81应该是帧的第一个字节。

我正在使用 Python 3.6 和 websocket-client 库。谢谢你。

0 投票
1 回答
661 浏览

python - 拆分字符串并将分隔符保留为拆分字符串块的一部分,而不是单独的列表元素

这是在 Python 中的衍生产品,如何拆分字符串并保留分隔符?

rawByteString = b'\\!\x00\x00\x00\x00\x00\x00\\!\x00\x00\x00\x00\x00\x00'

如何使用“\\!”将此 rawByteString 拆分为多个部分 作为分隔符而不删除分隔符,所以我得到:

[b'\\!\x00\x00\x00\x00\x00\x00', b'\\!\x00\x00\x00\x00\x00\x00']

我不想使用[b'\\!' + x for x in rawByteString.split(b'\\!')][1:]它,因为它会使用 string.split() 并且只是一种解决方法,这就是为什么这个问题被标记为“re”模块的原因。

0 投票
0 回答
34 浏览

python - Python 和 Encoding 中如何将字符串转换为字节?

最近我在一个编码平台上发现了以下针对特定问题的代码。

当我第一次看到它时,我完全震惊了。

然后我试着弄清楚那里发生了什么。

我将该代码转换为简化格式,我发现了这一点。

但是,我找不到原始字符串是如何制作的。

有人可以帮我找出答案吗?