gpt4 book ai didi

Ruby 相当于 ReadString?

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:30 26 4
gpt4 key购买 nike

我正在处理一个带有“客户制造”数据库的项目。他开发了一个 C++/CLI 应用程序,该应用程序使用 BinaryWriter.Write(String) 和 BinaryReader.ReadString() 方法从二进制文件中存储和检索数据。

我不是 C++/CLI 专家,但据我了解,这些方法使用第一个字节的 7 位编码来确定字符串长度。

我需要从铁路应用程序访问他的数据,有人知道如何在 ruby​​ 中做同样的事情吗?

最佳答案

如果您正在处理原始二进制数据,您可能需要花一些时间来熟悉 packunpack 方法及其各种选项。也许您描述的是长度预先编码的“Pascal 字符串”,或者它的变体。

例如:

length = data.unpack("C")[0]
string = data.unpack("Ca#{length}")[0]

两次unpack 是必需的,因为在执行第一步之前您不知道要解包的字符串的长度。您也可以使用子字符串来执行此操作,例如 data[1,length] 如果您有理由确定您没有处理 UTF-8 数据。

关于Ruby 相当于 ReadString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14846505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com