gpt4 book ai didi

c - 从转义字符串中获取十六进制或八进制值

转载 作者:行者123 更新时间:2023-12-01 15:34:29 25 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序需要接受表单中发布的数据并对其进行处理。此过程的一个步骤是对传入的数据进行转义。我面临的一个问题是,我从表单中获取的数据本质上是二进制的,因此它包含我需要转回字符的转义序列。对于制表符和换行符之类的字符来说,这相当简单,但我不知道如何使用十六进制和八进制值来做到这一点。

以下是一些输入数据的示例:

"blahblah\nblahblah\x20blahblah\037blahblah"

当它发布时,它看起来像这样:

"blahblah%5Cnblahblah%5Cx20blahblah%5C037blahblah"

目前我大部分时间只是浏览字符串并扫描“%”。然后我使用 sscanf 来获取转义字符的值。如果是 92,我就看下一个字符。如果是类似“n”的字符,我只需将这些字符替换为“\n”并继续。

我的问题基本上是如何扫描字符串中的十六进制和八进制值?在上面的示例中,我如何到达 %5C037 并将整个序列替换为适当的“\037”字符?

请注意,我必须执行所有这些操作,因为表单上接受的数据通常在服务器调用之间传递,并且我正在尝试组合一个测试应用程序,以允许用户查看表单上发生的情况数据。

最佳答案

谷歌 url 解码 C 实现,你会找到很多答案,其中之一:

http://www.icosaedro.it/apache/urldecode.c

关于c - 从转义字符串中获取十六进制或八进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1613385/

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