跳到主要内容
uencoder

Understand WebSocket 帧格式化

WebSocket frames 有特定二进制格式化具有 opcode, masking, 和载荷长度. Learn 到解码和 construct WebSocket frames.

  1. 1

    WebSocket 帧开始具有 2 bytes: FIN + RSV + opcode (1 字节), MASK + 载荷长度 (1 字节). Opcodes: 0x0 (continuation), 0x1 (文本), 0x2 (二进制), 0x8 (close), 0x9 (ping), 0xA (pong). Client-to-服务器 frames 必须是 masked (4-字节 mask 键 + XOR'd 载荷). 载荷长度: 0-125 inline, 126 = 16-位长度 follows, 127 = 64-位长度 follows.

  2. 2
    十六进制编码器 →

    编码 a WebSocket frame. For a text frame "Hello": FIN=1, opcode=1 → 0x81. MASK=1, length=5 → 0x85. Mask key (4 random bytes). Payload: each byte XOR'd with mask key cyclically. The server unmask by XOR'ing again.

  3. 3
    Base64 编码器 →

    编码 binary WebSocket payloads as base64 for debugging. Binary frames (opcode 0x2) can contain any data — base64 makes it inspectable in text tools and logs.

常见问题

为什么必须客户端 frames 是 masked?
Masking prevents 缓存 poisoning attacks 开 intermediaries (proxies, caches) 该可能 misinterpret WebSocket 数据 as HTTP responses. mask 是 4-字节键 applied 具有 XOR — 服务器 unmasks 到 recover 原始载荷. 服务器-到-客户端 frames 是不 masked.
什么是 ping/pong frames 为?
它们是 heartbeat frames. 客户端或 服务器 sends ping (opcode 0x9), 和其他边 必须 respond 具有 pong (opcode 0xA) 具有相同载荷. 此 keeps 连接 alive 通过 idle timeouts 和 checks 如果对等是 responsive. 发送 pings 每个 30-60 第二.

解决此任务的工作流

Ascii85 转 Base64
将 Ascii85 解码并重新编码为 Base64。
管道
Base2048 转 Base64
将 Base2048 解码并重新编码为 Base64。
管道
Base32 转 Base64
将 Base32 编码字符串解码为原始字节,再编码为 Base64 以获得更紧凑的表示。
管道
Base32 转十六进制
将 Base32 解码并重新编码为十六进制。
管道
Base58 转 Base64
将 Base58 解码并重新编码为 Base64。
管道
Base64 编码→解码→验证
将文本编码为 Base64 再解码回来,验证往返过程完整保留原始数据。
管道
Base64 转 Hex
将 Base64 字符串解码为原始字节,再编码为十六进制以便检视或互操作。
管道
二进制转 Hex
将二进制(base-2)字符串解码为字节值,再编码为十六进制。
管道
Blowfish 加密后 Base64
Blowfish 加密后 Base64 编码用于文本安全传输。
管道
ChaCha20 加密后十六进制
ChaCha20 加密后十六进制编码密文。
管道
DES 加密后 Base64
DES 加密后 Base64 编码用于传统兼容。
管道
为 URL 传输编码 JSON 载荷
将 JSON 文档准备为 URL 参数:格式化、Base64 编码、再百分号编码——即嵌套参数解码链的精确逆过程。
管道
AES 加密后 Base64 编码
用 AES 加密明文并将密文编码为 Base64 以便文本安全传输。
管道
内容哈希并 Base64 编码
计算输入哈希并将摘要编码为 Base64 以便紧凑传输。
管道
Hex 编码→解码→验证
将文本编码为十六进制再解码回来,验证往返过程完整保留原始数据。
管道
Hex 编码文本并分析
将文本转换为十六进制表示,再对 hex 输出计算字符统计。
管道
Hex 转 Base64
将十六进制字符串解码为原始字节,再编码为 Base64 以便紧凑传输。
管道
HMAC 签名后 Base64 编码
生成 HMAC 签名后 Base64 编码,用于 API 认证头。
管道
摩尔斯编码并 Base64 传输
将文本编码为摩尔斯码后 Base64 编码用于数字传输。
管道
Multibase 转十六进制
将 multibase 解码并重新编码为十六进制。
管道
八进制转十六进制
将八进制解码并重新编码为十六进制。
管道
RC4 加密后 Base64
RC4 加密后 Base64 编码。
管道
反转文本并显示 Hex 编码
反转字符串再检视其十六进制表示——用于调试字节序问题和编码谜题。
管道
RIPEMD-160 哈希后 Base64
计算 RIPEMD-160 哈希后 Base64 编码。
管道
SHA-512 哈希后十六进制编码
计算 SHA-512 哈希后编码为十六进制。
管道
文本打乱后 Base64 编码
打乱文本字符后 Base64 编码。
管道
Unicode 转义并 Base64 编码
Unicode 转义文本后 Base64 编码用于 ASCII 安全传输。
管道
解码 URL 并显示 Hex 字节
百分号解码 URL 编码字符串,再查看其十六进制字节表示以进行底层分析。
管道
URL 编码后 Base64 双重编码
URL 编码后 Base64 编码用于 API 负载双重编码。
管道
为 URL 传输编码文本载荷
百分号编码文本再显示其 hex 表示,用于安全的 URL 参数传输。
管道
UUencode 后 Base64
UUencode 文本后 Base64 编码结果。
管道
生成 UUID 并 Base64 编码
生成 UUID 后 Base64 编码用于紧凑存储。
管道
XXencode 后十六进制
XXencode 文本后十六进制编码结果。
管道

相关工具