5个版本
0.0.5 | 2021年2月25日 |
---|---|
0.0.4 | 2021年2月23日 |
0.0.3 | 2021年2月22日 |
0.0.2 | 2021年2月22日 |
0.0.1 | 2021年2月22日 |
#725 in 调试
每月 31次下载
49KB
812 行
BitFormat
将位为中心的数据结构格式化,以便打印到控制台或包含在日志文件中。
警告 - 非常早期的版本
我创建了这个crate来解决一个特定的问题。它处于一个非常早期的阶段。
将会有BUG
变更日志
- v0.0.1 - 初始crate版本
- v0.0.2 - 包含README中的示例,添加变更日志和路线图
- v0.0.3 - README格式更新
- v0.0.4 - WebSocket数据帧的自定义样式颜色
- v0.0.5 - 操作码和有效载荷长度内联
路线图
- v0.0.6 - WebSocker数据帧中等(16位)和长(64位)数据包长度
- v0.0.7 - WebSocket数据帧摘要
- v0.0.8 - 支持qword表中的样式(自定义颜色)
- v0.0.9 - 支持自定义边框符号
- v0.1.0 - 支持WORD和DWORD表 (除QWORD外)
特定格式
该库当前识别以下位为中心的格式。
Qword表
用于打印以QWORD(32位)为表格的字节(每行8字节)。
示例
以下是由bitformat::QwordTable生成的输出示例
+--------+--------+--------+--------+--------+--------+--------+--------+
Bytes | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
+------+--------+--------+--------+--------+--------+--------+--------+--------+
|QWORD |10000001|10000011|01011010|00001110|10010001|00110110|00111011|01101100|
| 1 | (129)| (131)| (90)| (14)| (145)| (54)| (59)| (108)|
+------+--------+--------+--------+--------+--------+--------+--------+--------+
|QWORD |11110010|
| 2 | (242)|
+------+--------+
WebSocket数据帧
根据RFC6455规范格式化WebSocket数据帧:https://tools.ietf.org/html/rfc6455#section-5.2
示例
以下是由bitformat::WebSocketFrame生成的输出示例
+---------------+---------------+---------------+---------------+
Frame Data | Byte 0 | Byte 1 | Byte 2 | Byte 3 |
(Masked) +---------------+---------------+---------------+---------------+
(Short) |0 | 1 | 2 | 3 |
|0 1 2 3 4 5 6 7|8 9 0 1 2 3 4 5|6 7 8 9 0 1 2 3|4 5 6 7 8 9 0 1|
+-------+-+-+-+-+-------+-+-------------+-------------------------------+
| DWORD |1|0|0|0|0 0 0 1|1|0 0 0 0 0 1 1|0 1 0 1 1 0 1 0|0 0 0 0 1 1 1 0|
| 1 |F|R|R|R| |M| | |
| |I|S|S|S|op code|A| Payload len | Masking-key (part 1) |
| |N|V|V|V| (4 b) |S| (7 bits) | (16 bits) |
| | |1|2|3| |K| | |
+-------+-+-+-+-+-------+-+-------------+-------------------------------+
| DWORD |1 0 0 1 0 0 0 1|0 0 1 1 0 1 1 0|0 0 1 1 1 0 1 1|0 1 1 0 1 1 0 0|
| 2 | | (59) MASKED (108) |
| | Masking-key (part 2) |0 1 1 0 0 0 0 1|0 1 1 0 0 0 1 0|
| | (16 bits) | (97) 'a' UNMASKED (98) 'b' |
| | | Payload Data (part 1) |
+-------+-------------------------------+-------------------------------+
| DWORD |1 1 1 1 0 0 1 0|
| 3 | (242) MSK |
| |0 1 1 0 0 0 1 1|
| | (99) 'c' UNM |
| | Payload pt 2 |
+-------+---------------+
依赖项
~0.3–10MB
~58K SLoC