5个版本 (3个重大更新)
0.4.0 | 2021年1月11日 |
---|---|
0.3.0 | 2020年6月5日 |
0.2.1 | 2020年5月18日 |
0.2.0 | 2020年5月18日 |
0.1.0 | 2020年5月17日 |
#1778 in 编码
每月700次下载
20KB
245 行
To-Binary: 一个用于转换为BinaryString
的Rust包
一个用于转换为新类型BinaryString
的Rust库。BinaryString
是一个单字段元组结构体,它包含一个BinaryString
或BinaryWhitespaceString
,并且是类型String
。
它允许
- 断言给定输入是否为二进制字符串
- 断言位数/字节
- 计算位和字节
- 在字节之间添加/删除空白
如何使用
阅读 示例 和 文档
转换为BinaryString
以下示例展示了如何将一种类型转换为BinaryString
类型。
use to_binary::{BinaryString,BinaryError};
fn main(){
// Hexadecimal
let hex = BinaryString::from_hex("2879E653864EA6047FEBBBD9AE6DA8DA").unwrap();
// String
let x = BinaryString::from(String::from("Test"));
assert_eq!(bin_string_2,"01010100011001010111001101110100")
// str
let y = BinaryString::from("Hello World");
// Byte
let byte = BinaryString::from(118u8);
// Vector
let vector = vec![36,57,123,38,2];
let bin_vector = BinaryString::from(vector);
}
从BinaryString
中添加或删除空白
此示例展示了如何在字节之间添加空白或从BinaryString
中删除空白。
use to_binary::{BinaryString,BinaryError};
fn test_whitespace() {
// Conversion To `BinaryString` Struct From Hex
let x: BinaryString = BinaryString::from_hex("FF8628AA").unwrap();
// Creates New Struct With Spaces
let with_spaces: BinaryString = x.add_spaces().unwrap();
// Removes Spaces And Creates New Struct
let removed_spaces: BinaryString = with_spaces.remove_spaces();
// Prints Out Information
println!("x: {}", x);
println!("with_spaces : {}", with_spaces);
println!("removed spaces: {}", removed_spaces);
let is_true: bool = with_spaces.assert_binary_whitespace();
// Asserts It Works And The Answer Without Spaces Is Same As Initial
assert_eq!(is_true, true);
assert_eq!(x, removed_spaces);
}
在BinaryString
上使用二进制方法
有很多可用的BinaryString
方法。以下是一些可能有用的方法。
fn main(){
// Conversion To `BinaryString` Struct From Hex
let x: BinaryString = BinaryString::from_hex("FF8628AA").unwrap();
// Checks Whether The Input Is Binary
let check_if_binary: bool = x.assert_binary();
// Assert Input Is Binary
assert_eq!(check_if_binary, true);
// Retrieve Sizes Of Binary Input (Bits and Bytes)
let size_in_bits = x.bits().unwrap();
let size_in_bytes = x.bytes().unwrap();
// Verifies Sizes Of Binary Inputs
let verify_bit_length: bool = x.assert_bit_length(size_in_bits);
let verify_byte_length: bool = x.assert_byte_length(size_in_bytes);
// Assert Sizes Are Correct
assert_eq!(verify_bit_length, true);
assert_eq!(verify_byte_length, true);
}
许可证
以下任一许可证下许可
-
Apache许可证,版本2.0
-
MIT许可证
任选其一。
贡献
除非您明确声明,否则您提交给作品以供包含在内的任何有意贡献,根据Apache-2.0许可证定义,应按上述方式双重许可,无需任何额外条款或条件。
依赖项
~22KB