![]() |
Bitcoin ABC 0.33.0
P2P Digital Currency
|
#include <util/strencodings.h>#include <util/string.h>#include <tinyformat.h>#include <crypto/hex_base.h>#include <span.h>#include <array>#include <cstdlib>#include <cstring>#include <optional>Go to the source code of this file.
Functions | |
| std::string | SanitizeString (std::string_view str, int rule) |
| Remove unsafe chars. More... | |
| bool | IsHex (std::string_view str) |
| Returns true if each character in str is a hex character, and has an even number of hex digits. More... | |
| bool | IsHexNumber (std::string_view str) |
| Return true if the string is a hex number, optionally prefixed with "0x". More... | |
| template<typename Byte > | |
| std::optional< std::vector< Byte > > | TryParseHex (std::string_view str) |
| Parse the hex string into bytes (uint8_t or std::byte). More... | |
| template std::vector< std::byte > | ParseHex (std::string_view) |
| bool | SplitHostPort (std::string_view in, uint16_t &portOut, std::string &hostOut) |
| Splits socket address string into host string and port value. More... | |
| std::string | EncodeBase64 (Span< const uint8_t > input) |
| std::optional< std::vector< uint8_t > > | DecodeBase64 (std::string_view str) |
| std::string | EncodeBase32 (Span< const uint8_t > input, bool pad) |
| Base32 encode. More... | |
| std::string | EncodeBase32 (std::string_view str, bool pad) |
| Base32 encode. More... | |
| std::optional< std::vector< uint8_t > > | DecodeBase32 (std::string_view str) |
| bool | ParseInt32 (std::string_view str, int32_t *out) |
| Convert string to signed 32-bit integer with strict parse error feedback. More... | |
| bool | ParseInt64 (std::string_view str, int64_t *out) |
| Convert string to signed 64-bit integer with strict parse error feedback. More... | |
| bool | ParseUInt8 (std::string_view str, uint8_t *out) |
| Convert decimal string to unsigned 8-bit integer with strict parse error feedback. More... | |
| bool | ParseUInt16 (std::string_view str, uint16_t *out) |
| Convert decimal string to unsigned 16-bit integer with strict parse error feedback. More... | |
| bool | ParseUInt32 (std::string_view str, uint32_t *out) |
| Convert decimal string to unsigned 32-bit integer with strict parse error feedback. More... | |
| bool | ParseUInt64 (std::string_view str, uint64_t *out) |
| Convert decimal string to unsigned 64-bit integer with strict parse error feedback. More... | |
| std::string | FormatParagraph (std::string_view in, size_t width, size_t indent) |
| Format a paragraph of text to a fixed width, adding spaces for indentation to any added line. More... | |
| static bool | ProcessMantissaDigit (char ch, int64_t &mantissa, int &mantissa_tzeros) |
| Helper function for ParseFixedPoint. More... | |
| bool | ParseFixedPoint (std::string_view val, int decimals, int64_t *amount_out) |
| Parse number as fixed point according to JSON number syntax. More... | |
| std::string | ToLower (std::string_view str) |
| Returns the lowercase equivalent of the given string. More... | |
| std::string | ToUpper (std::string_view str) |
| Returns the uppercase equivalent of the given string. More... | |
| std::string | Capitalize (std::string str) |
| Capitalizes the first character of the given string. More... | |
Variables | |
| static const std::string | CHARS_ALPHA_NUM |
| static const std::string | SAFE_CHARS [] |
| static const int64_t | UPPER_BOUND = 1000000000000000000LL - 1LL |
| Upper bound for mantissa. More... | |
| std::string Capitalize | ( | std::string | str | ) |
Capitalizes the first character of the given string.
This function is locale independent. It only converts lowercase characters in the standard 7-bit ASCII range. This is a feature, not a limitation.
| [in] | str | the string to capitalize. |
Definition at line 491 of file strencodings.cpp.
| std::optional< std::vector< uint8_t > > DecodeBase32 | ( | std::string_view | str | ) |
| std::optional< std::vector< uint8_t > > DecodeBase64 | ( | std::string_view | str | ) |
| std::string EncodeBase32 | ( | Span< const uint8_t > | input, |
| bool | pad = true |
||
| ) |
Base32 encode.
If pad is true, then the output will be padded with '=' so that its length is a multiple of 8.
Definition at line 175 of file strencodings.cpp.
| std::string EncodeBase32 | ( | std::string_view | str, |
| bool | pad = true |
||
| ) |
Base32 encode.
If pad is true, then the output will be padded with '=' so that its length is a multiple of 8.
Definition at line 190 of file strencodings.cpp.
| std::string EncodeBase64 | ( | Span< const uint8_t > | input | ) |
Definition at line 120 of file strencodings.cpp.
| std::string FormatParagraph | ( | std::string_view | in, |
| size_t | width, | ||
| size_t | indent | ||
| ) |
Format a paragraph of text to a fixed width, adding spaces for indentation to any added line.
Definition at line 286 of file strencodings.cpp.
| bool IsHex | ( | std::string_view | str | ) |
Returns true if each character in str is a hex character, and has an even number of hex digits.
Definition at line 43 of file strencodings.cpp.
| bool IsHexNumber | ( | std::string_view | str | ) |
Return true if the string is a hex number, optionally prefixed with "0x".
Definition at line 52 of file strencodings.cpp.
| bool ParseFixedPoint | ( | std::string_view | val, |
| int | decimals, | ||
| int64_t * | amount_out | ||
| ) |
Parse number as fixed point according to JSON number syntax.
See http://json.org/number.gif
Definition at line 355 of file strencodings.cpp.
| template std::vector< uint8_t > ParseHex | ( | std::string_view | ) |
| bool ParseInt32 | ( | std::string_view | str, |
| int32_t * | out | ||
| ) |
Convert string to signed 32-bit integer with strict parse error feedback.
Definition at line 262 of file strencodings.cpp.
| bool ParseInt64 | ( | std::string_view | str, |
| int64_t * | out | ||
| ) |
Convert string to signed 64-bit integer with strict parse error feedback.
Definition at line 266 of file strencodings.cpp.
| bool ParseUInt16 | ( | std::string_view | str, |
| uint16_t * | out | ||
| ) |
Convert decimal string to unsigned 16-bit integer with strict parse error feedback.
Definition at line 274 of file strencodings.cpp.
| bool ParseUInt32 | ( | std::string_view | str, |
| uint32_t * | out | ||
| ) |
Convert decimal string to unsigned 32-bit integer with strict parse error feedback.
Definition at line 278 of file strencodings.cpp.
| bool ParseUInt64 | ( | std::string_view | str, |
| uint64_t * | out | ||
| ) |
Convert decimal string to unsigned 64-bit integer with strict parse error feedback.
Definition at line 282 of file strencodings.cpp.
| bool ParseUInt8 | ( | std::string_view | str, |
| uint8_t * | out | ||
| ) |
Convert decimal string to unsigned 8-bit integer with strict parse error feedback.
Definition at line 270 of file strencodings.cpp.
|
inlinestatic |
Helper function for ParseFixedPoint.
Definition at line 337 of file strencodings.cpp.
| std::string SanitizeString | ( | std::string_view | str, |
| int | rule = SAFE_CHARS_DEFAULT |
||
| ) |
Remove unsafe chars.
Safe chars chosen to allow simple messages/URLs/email addresses, but avoid anything even possibly remotely dangerous like & or >
| [in] | str | The string to sanitize |
| [in] | rule | The set of safe chars to choose (default: least restrictive) |
Definition at line 33 of file strencodings.cpp.
| bool SplitHostPort | ( | std::string_view | in, |
| uint16_t & | portOut, | ||
| std::string & | hostOut | ||
| ) |
Splits socket address string into host string and port value.
Validates port value.
| [in] | in | The socket address string to split. |
| [out] | portOut | Port-portion of the input, if found and parsable. |
| [out] | hostOut | Host-portion of the input, if found. |
Definition at line 89 of file strencodings.cpp.
| std::string ToLower | ( | std::string_view | str | ) |
Returns the lowercase equivalent of the given string.
This function is locale independent. It only converts uppercase characters in the standard 7-bit ASCII range. This is a feature, not a limitation.
| [in] | str | the string to convert to lowercase. |
Definition at line 475 of file strencodings.cpp.
| std::string ToUpper | ( | std::string_view | str | ) |
Returns the uppercase equivalent of the given string.
This function is locale independent. It only converts lowercase characters in the standard 7-bit ASCII range. This is a feature, not a limitation.
| [in] | str | the string to convert to uppercase. |
Definition at line 483 of file strencodings.cpp.
| std::optional< std::vector< Byte > > TryParseHex | ( | std::string_view | str | ) |
Parse the hex string into bytes (uint8_t or std::byte).
Ignores whitespace. Returns nullopt on invalid input.
Definition at line 66 of file strencodings.cpp.
|
static |
Definition at line 19 of file strencodings.cpp.
|
static |
Definition at line 22 of file strencodings.cpp.
|
static |
Upper bound for mantissa.
10^18-1 is the largest arbitrary decimal that will fit in a signed 64-bit integer. Larger integers cannot consist of arbitrary combinations of 0-9:
999999999999999999 1^18-1 9223372036854775807 (1<<63)-1 (max int64_t) 9999999999999999999 1^19-1 (would overflow)
Definition at line 334 of file strencodings.cpp.