0

我正在寻找一种替代方法来从 Windows 下的 .ini 文件加载和保存小二进制块。

我知道 Windows 注册表具有读取和写入 REG_BINARY 数据的功能,但我无法为 .ini 文件找到相同的功能。

显然,数据必须转义存储在 .ini 文件中。但必须能够将其存储和检索为具有任何值 0x00-0xFF 的字节。

4

2 回答 2

2

一种方法是先简单地对二进制数据进行 base64 编码。然后,您可以从/向 .ini 文件读取和写入 base64 编码的数据,就像从/向任何文件读取/写入数据一样。base64 编码会将二进制数据转换为 ascii,使用十六进制字符 (0-F) 来表示二进制数据。有关详细信息,请参阅http://en.wikipedia.org/wiki/Base64

于 2013-07-22T17:04:19.463 回答
1

GetPrivateProfileStructWritePrivateProfileStruct函数可以读取二进制数据并将其写入 INI 文件。

这些确实要求您在读取数据时知道数据的大小,因此如果您要存储可变大小的数据,则必须将数据的大小存储在不同的 INI 设置中。

此外,如果您确实将指向 a 的指针传递struct到这些函数中,则在进行更改时需要非常小心,因为内存布局struct必须完全匹配才能成功读取。

于 2013-07-22T17:11:06.603 回答