gpt4 book ai didi

.net - 在 .NET 中将二进制 XML 读取为文本

转载 作者:行者123 更新时间:2023-11-29 22:30:00 25 4
gpt4 key购买 nike

AndroidManifest.xml文件在apk中编译打包后变成二进制xml文件。我提供此信息是为了防止此文件与常规二进制 xml 文件之间存在差异,但我不确定是否存在差异。

我需要获取此 xml 文件中包含的信息。有用于 javapython 的工具,但我还没有找到用于 .Net 的工具。如何在 .NET 中读取此文件?

这是我找到的最有前途的解决方案,但它仍然没有以人类可读的格式显示文本。

using (BinaryReader b = new BinaryReader(File.Open(filePath, FileMode.Open), Encoding.ASCII)) {
int pos = 0;
int length = (int)b.BaseStream.Length;
while (pos < length) {
char v = b.ReadChar();
Console.Write(v);
pos += sizeof(char);
}
}

知道我做错了什么吗?

在创建 BinaryReader 时,我尝试过使用不同的 encoding,但它们都没有用。

谢谢。

最佳答案

文件不仅仅是xml的“二进制数据”。 android xml 有一个“格式”。

可以看看AXMLPrinter2 - 它采用二进制 xml 并将其转换为人类可读的。我直接链接到一个看起来它完成大部分工作的类。

您需要 list 文件中的哪些信息? android SDK 中的 aapt.exe 也可以从 android list 文件中提取所有信息。您只需运行该命令(使用所需的开关)并解析控制台输出流。

关于.net - 在 .NET 中将二进制 XML 读取为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4471888/

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