gpt4 book ai didi

c - 区分C中字符串(字符数组)的十六进制值

转载 作者:太空宇宙 更新时间:2023-11-04 06:16:41 24 4
gpt4 key购买 nike

我正在用 C 语言解析 XML,向我返回响应 XML 的服务器在实际 XML 之间引入了一些十六进制值(字母数字格式)。由于我在 C 中将其解析为 char 数组,因此我无法区分实际的 XML 字符串和十六进制值(0-9、a-e 和 A-E)。那么有什么方法可以识别这些十六进制值吗?

备注 - isxdigit()没有帮助,因为它将字符与 0-9 a-e 和 A-E 的实际字符进行比较。

字符串示例 - <a:Manufacturer>Apple</a:Manufacturer><a:Materiafe8lStandardName i:nil="true"/><a:Model>iPhone 7 Plus 256GB Silver - ATT</a:Model>

“fe8”是打破“MaterialStandardName”的十六进制值

最佳答案

这个好像很经典xy-problem .问题是您的内容中存在“垃圾”。但是您尝试的解决方案是徒劳的。当您显示内容时,它只是损坏的 XML。

尽管如此,我对实际问题有一个强烈的猜测:你从一个 http 服务器接收到这个数据,这个服务器使用 Transfer-Encoding: chunked 发送它。 . fe8 作为通过网络发送的下一个 block 的大小插入。

因此,与其尝试以某种方式修复乱码内容,不如查看接收位置并修复传输层以正确处理服务器响应并仅返回实际负载。

关于c - 区分C中字符串(字符数组)的十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44163156/

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