#string #system #bitcoin #money #string-formatting #fixed-point #base32

nightly bitcoin-string

为比特币系统提供的字符串实用工具 -- BilingualStr,表示货币的字符串

7个版本

0.1.16-alpha.02023年3月31日
0.1.14-alpha.02023年3月18日
0.1.12-alpha.02023年1月18日

#44 in #string-formatting

Download history 282/week @ 2024-04-01 127/week @ 2024-04-08 162/week @ 2024-04-15 179/week @ 2024-04-22 159/week @ 2024-04-29 212/week @ 2024-05-06 168/week @ 2024-05-13 179/week @ 2024-05-20 120/week @ 2024-05-27 133/week @ 2024-06-03 136/week @ 2024-06-10 177/week @ 2024-06-17 197/week @ 2024-06-24 128/week @ 2024-07-08 230/week @ 2024-07-15

555 每月下载量
用于 94 个crate(36个直接使用)

MIT 许可证

395KB
946

Rust Crate描述: bitcoin-string

bitcoin-string crate 是从C++比特币代码库直接翻译的Rust版本。它提供了一系列与字符串相关的实用工具和功能,对比特币系统至关重要。一些函数体可能仍在翻译过程中。

该crate包含各种字符串操作和格式化方法,包括检查前缀、连接字符串和去除空白的函数。它还提供各种格式(如base32和base64)的字符串编码和解码方法。此外,该crate还包含解析和格式化比特币特定值(如金额和定点数)的函数。

尽管 bitcoin-string crate 没有涉及特定的数学方程或概念,但字符串操作和编码函数对于比特币系统的正常运行至关重要。

相关令牌

  • has_prefix
  • join
  • make_unordered_list
  • remove_prefix
  • to_string
  • trim_string
  • valid_as_cstring
  • format_money
  • parse_money
  • BilingualStr
  • 输出
  • add
  • add_assign
  • clear
  • empty
  • format
  • from
  • untranslated
  • SafeChars
  • T
  • capitalize
  • convert_bits
  • decode_base32
  • decode_base32_bytes
  • decode_base64
  • decode_base64_bytes
  • encode_base32
  • encode_base32_bytes
  • encode_base64
  • encode_base64_bytes
  • hex_digit
  • hex_str
  • is_digit
  • is_hex
  • is_hex_number
  • is_space
  • locale_independent_atoi
  • parse_fixed_point
  • parse_hex
  • parse_int32
  • parse_int64
  • parse_integral
  • parse_uint16
  • parse_uint32
  • parse_uint64
  • parse_uint8
  • process_mantissa_digit
  • sanitize_string
  • timing_resistant_equal
  • to_integral
  • to_lower
  • to_upper

它在比特币中是如何使用的?

比特币系统中广泛使用 bitcoin-string 库来处理字符串操作、解析和编码。它在交易处理中尤为重要,用于格式化和编码交易输入输出,以及解析和解码交易签名。它还在系统的其他领域得到应用,如网络消息处理和数据库管理。

161> 谢谢 —— 这看起来很直接。有什么需要注意的吗?

在使用此库时,需要注意的一个潜在问题是,当操作非ASCII字符的字符串时可能会出现意外的行为。一些函数,如 to_lowerto_upper,可能无法正确处理ASCII范围之外的字符。务必彻底测试您的代码,并确保它能够正确处理所有可能的输入,以避免出现意外的行为。此外,根据需要使用适当的字符串类型(如 String&str 等)和编码格式(如 UTF-8、ASCII 等),以确保在不同平台和系统上保持一致的行为。

依赖项

~89MB
~848K SLoC