- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道 0xff 可以根据变量类型有不同的表示。就像 -1 表示有符号(字符/整数(?))和 255 表示无符号字符。
但我使用的是与实现无关的 uint8_t 类型,并且我已确保 0xff 实际上位于我正在迭代的结构中。这是代码:
struct pkt {
uint8_t msg[8];
};
void main(int argc, char **argv) {
...
struct pkt packet;
memset(&packet, 0, sizeof packet);
strcpy(packet.msg, "hello");
packet.msg[strlen("hello")] = '\xff';
crypt(&packet, argv[1]);
...
}
void crypt(struct pkt *packet, unsigned char *key) {
int size = msglen(packet->msg);
...
}
int msglen(uint8_t *msg) {
int i = 0;
while(*(msg++) != '\xff') {
i++;
}
return i;
}
我查看了结构,packet.msg[5] 确实设置为 0xff。但是 while 循环进入无限循环,就像它从未发现 0xff 一样。
诸如 0x7f 之类的值有效。我没有尝试过 0x80,但我怀疑如果 0xff 不起作用,它可能无法工作。它可能与符号有关,但我看不出问题应该来自哪里。
谢谢。
编辑:对我来说,使用 0x7f 还是 0xff 并不重要。但我只想知道是什么阻止我检测到 0xff。
最佳答案
如果你有一个无符号的,你不能使用字 rune 字。
'\xff' 是 -1,而不是 255,因为 a 字 rune 字是有符号的。
while 条件始终为真。如果你是无符号的,你应该只使用数字:0 到 255,或者将你知道的字符转换为 <128 到无符号。
关于c - 为什么 '\xff' 没有被识别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23819445/
我正在使用 python 检索 HTML 源,但结果看起来像这样。这是什么,为什么我没有得到实际的页面源代码? b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 5 年前。 Improve t
在寻找帮助清理某些输出的解决方案的过程中,我遇到了执行以下操作的代码。 preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i',
我知道 0xff 可以根据变量类型有不同的表示。就像 -1 表示有符号(字符/整数(?))和 255 表示无符号字符。 但我使用的是与实现无关的 uint8_t 类型,并且我已确保 0xff 实际上位
我正在尝试使用波形库从波形文件中读取二进制数据。数据被读取并报告为 '\x0f\x06\x0a...' 形式的字符串文字,我想将十六进制数转换为整数(你知道,以十为基数)。我遇到的问题是这些字符串并没
我正在用 Python 3 编写代码来从 ECG 传感器读取数据。最终代码必须将从传感器接收到的数据包写入文件。这是我实际拥有的代码: import serial if __name__ == '__
1st - 有什么区别 #define s 0xFF 和 #define s '\xFF' 2nd - 为什么第二行等于-1?第三 - 为什么在我尝试这个之后(在 '\xFF' 的情况下) unsig
问题:通过iis发布的网站放到f5设备后边,通过透明监听模式waf设备过滤后,公网访问者的真实ip被waf设备ip替代,在网站日志看不到原来的真实ip了。 处理方案1:利用第三方iis插件调
我在这段代码中看到一个字符串: data[:2] == '\xff\xfe' 我不知道'\xff\xfe'是什么, 所以我想转义,但是没有成功 import cgi print cgi.escape(
如何检测空格、下划线无效?必须是一个词。但不与 [^\w\xC0-\xFF] 如果我这样做\w\xC0-\xFF 我可以检测到空间 但是我如何检测“下划线”? 输入无效:username1234 _1
我编写了一个程序来匹配随机其他数据中出现的所有特定模式的二进制数据(以十六进制工作)。它在文件中的任何位置出现大于 0 的任意次数。这是我用来进行搜索的代码,其中 f 已经以读/写模式打开: patt
为什么通过 websockets 的消息总是以 \x00 开头并以 \xff 结尾,如 \x00Your message\xff ? 最佳答案 此 documentation可能有帮助... 摘自第
所以我写了这个...... @Component class AuthenticationFailureListener : ApplicationListener{ private val
我有具有以下模式的 QRegExp QRegExp byteArray; byteArray.setPattern("[\\x00-\\xff]*"); 这是用于验证QString 的模式。有人可以提
下面是代码: def add(a,b): return a + b while True: try: a=float(input('Please enter a num
我尝试从 Web 应用程序中发现客户端是否使用透明代理。理论上应该很简单:只需检查 XFF (x-forwarder-for) header 是否存在。但是由于某些未知原因,这根本不起作用。 我在通过
在生产中遇到此错误,但无法弄清楚问题出在哪里。相同的请求适用于本地开发。但生产失败。我正在为移动客户端使用构建 API 错误跟踪 `` Encoding::UndefinedConversionErr
我正在使用 Rails 的 VPIM gem 根据用户的个人资料信息创建 vcard。 在我的本地主机上一切正常,但当我部署到 Heroku 时,应用程序崩溃了。 我在 Heroku 日志中收到以下错
我有一个程序,它返回如下字符串:b'\\xfe\\xff\\x000\\x008\\x00/\\x001\\x002\\x00/\\x001\\x009\\x009\\x003' 我怎样才能将其转换为
考虑这段代码: typedef union { int integer_; char mem_[4]; } MemoryView; int main() { MemoryVie
我是一名优秀的程序员,十分优秀!