websocket代码片段,求助是做什么的。

int32_t parse_frame_header(const char *buf, frame_t *frame) {
    if (!buf || !frame) {
        return -1;
    }
    unsigned char c1 = *buf;
    unsigned char c2 = *(buf + 1);
    fprintf(stdout, "c1_ = 11%c11, c2_ = %c22\n", c1, c2);
    frame->fin = (c1 >> 7) & 0xff;
    frame->opcode = c1 & 0x0f;
    frame->mask = (c2 >> 7) & 0xff;
    frame->payload_len = c2 & 0x7f;
    return 0;
}

在没执行上诉操作,字符型变量值为空,
其余为0
执行之后,数据变成正常,为什么。
个人感觉好像是字符转换吗?

目测下是输出视频帧的