Bitcoin ABC 0.26.3
P2P Digital Currency
|
Go to the source code of this file.
Enumerations | |
enum | SafeChars { SAFE_CHARS_DEFAULT , SAFE_CHARS_UA_COMMENT , SAFE_CHARS_FILENAME , SAFE_CHARS_URI } |
Utilities for converting data from/to strings. More... | |
Functions | |
std::string | SanitizeString (const std::string &str, int rule=SAFE_CHARS_DEFAULT) |
Remove unsafe chars. | |
std::vector< uint8_t > | ParseHex (const char *psz) |
std::vector< uint8_t > | ParseHex (const std::string &str) |
signed char | HexDigit (char c) |
bool | IsHex (const std::string &str) |
Returns true if each character in str is a hex character, and has an even number of hex digits. | |
bool | IsHexNumber (const std::string &str) |
Return true if the string is a hex number, optionally prefixed with "0x". | |
std::vector< uint8_t > | DecodeBase64 (const char *p, bool *pf_invalid=nullptr) |
std::string | DecodeBase64 (const std::string &str, bool *pf_invalid=nullptr) |
std::string | EncodeBase64 (Span< const uint8_t > input) |
std::string | EncodeBase64 (Span< const std::byte > input) |
std::string | EncodeBase64 (const std::string &str) |
std::vector< uint8_t > | DecodeBase32 (const char *p, bool *pf_invalid=nullptr) |
std::string | DecodeBase32 (const std::string &str, bool *pf_invalid=nullptr) |
std::string | EncodeBase32 (Span< const uint8_t > input, bool pad=true) |
Base32 encode. | |
std::string | EncodeBase32 (const std::string &str, bool pad=true) |
Base32 encode. | |
void | SplitHostPort (std::string in, uint16_t &portOut, std::string &hostOut) |
int64_t | atoi64 (const std::string &str) |
int | atoi (const std::string &str) |
constexpr bool | IsDigit (char c) |
Tests if the given character is a decimal digit. | |
constexpr bool | IsSpace (char c) noexcept |
Tests if the given character is a whitespace character. | |
bool | ParseInt32 (const std::string &str, int32_t *out) |
Convert string to signed 32-bit integer with strict parse error feedback. | |
bool | ParseInt64 (const std::string &str, int64_t *out) |
Convert string to signed 64-bit integer with strict parse error feedback. | |
bool | ParseUInt8 (const std::string &str, uint8_t *out) |
Convert decimal string to unsigned 8-bit integer with strict parse error feedback. | |
bool | ParseUInt16 (const std::string &str, uint16_t *out) |
Convert decimal string to unsigned 16-bit integer with strict parse error feedback. | |
bool | ParseUInt32 (const std::string &str, uint32_t *out) |
Convert decimal string to unsigned 32-bit integer with strict parse error feedback. | |
bool | ParseUInt64 (const std::string &str, uint64_t *out) |
Convert decimal string to unsigned 64-bit integer with strict parse error feedback. | |
bool | ParseDouble (const std::string &str, double *out) |
Convert string to double with strict parse error feedback. | |
std::string | HexStr (const Span< const uint8_t > s) |
Convert a span of bytes to a lower-case hexadecimal string. | |
std::string | HexStr (const Span< const char > s) |
std::string | HexStr (const Span< const std::byte > s) |
std::string | FormatParagraph (const std::string &in, size_t width=79, size_t indent=0) |
Format a paragraph of text to a fixed width, adding spaces for indentation to any added line. | |
template<typename T > | |
bool | TimingResistantEqual (const T &a, const T &b) |
Timing-attack-resistant comparison. | |
bool | ParseFixedPoint (const std::string &val, int decimals, int64_t *amount_out) |
Parse number as fixed point according to JSON number syntax. | |
template<int frombits, int tobits, bool pad, typename O , typename I > | |
bool | ConvertBits (const O &outfn, I it, I end) |
Convert from one power-of-2 number base to another. | |
constexpr char | ToLower (char c) |
Converts the given character to its lowercase equivalent. | |
std::string | ToLower (const std::string &str) |
Returns the lowercase equivalent of the given string. | |
constexpr char | ToUpper (char c) |
Converts the given character to its uppercase equivalent. | |
std::string | ToUpper (const std::string &str) |
Returns the uppercase equivalent of the given string. | |
std::string | Capitalize (std::string str) |
Capitalizes the first character of the given string. | |
Utilities for converting data from/to strings.
Used by SanitizeString()
Enumerator | |
---|---|
SAFE_CHARS_DEFAULT | The full set of allowed chars. |
SAFE_CHARS_UA_COMMENT | BIP-0014 subset. |
SAFE_CHARS_FILENAME | Chars allowed in filenames. |
SAFE_CHARS_URI | Chars allowed in URIs (RFC 3986) |
Definition at line 20 of file strencodings.h.
int atoi | ( | const std::string & | str | ) |
Definition at line 483 of file strencodings.cpp.
int64_t atoi64 | ( | const std::string & | str | ) |
Definition at line 475 of file strencodings.cpp.
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 654 of file strencodings.cpp.
Convert from one power-of-2 number base to another.
If padding is enabled, this always return true. If not, then it returns true of all the bits of the input are encoded in the output.
Definition at line 214 of file strencodings.h.
std::vector< uint8_t > DecodeBase32 | ( | const char * | p, |
bool * | pf_invalid = nullptr |
||
) |
Definition at line 231 of file strencodings.cpp.
std::vector< uint8_t > DecodeBase64 | ( | const char * | p, |
bool * | pf_invalid = nullptr |
||
) |
Definition at line 150 of file strencodings.cpp.
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 227 of file strencodings.cpp.
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 212 of file strencodings.cpp.
|
inline |
Definition at line 136 of file strencodings.cpp.
Format a paragraph of text to a fixed width, adding spaces for indentation to any added line.
Definition at line 435 of file strencodings.cpp.
Definition at line 59 of file strencodings.cpp.
Convert a span of bytes to a lower-case hexadecimal string.
Definition at line 662 of file strencodings.cpp.
Tests if the given character is a decimal digit.
[in] | c | character to test |
Definition at line 88 of file strencodings.h.
bool IsHex | ( | const std::string & | str | ) |
Returns true if each character in str is a hex character, and has an even number of hex digits.
Definition at line 63 of file strencodings.cpp.
bool IsHexNumber | ( | const std::string & | str | ) |
Return true if the string is a hex number, optionally prefixed with "0x".
Definition at line 72 of file strencodings.cpp.
Tests if the given character is a whitespace character.
The whitespace characters are: space, form-feed ('\f'), newline ('
'), carriage return ('\r'), horizontal tab ('\t'), and vertical tab ('\v').
This function is locale independent. Under the C locale this function gives the same result as std::isspace.
[in] | c | character to test |
Definition at line 104 of file strencodings.h.
Convert string to double with strict parse error feedback.
Definition at line 417 of file strencodings.cpp.
Parse number as fixed point according to JSON number syntax.
See http://json.org/number.gif
Definition at line 517 of file strencodings.cpp.
std::vector< uint8_t > ParseHex | ( | const char * | psz | ) |
Definition at line 86 of file strencodings.cpp.
std::vector< uint8_t > ParseHex | ( | const std::string & | str | ) |
Convert string to signed 32-bit integer with strict parse error feedback.
Definition at line 309 of file strencodings.cpp.
Convert string to signed 64-bit integer with strict parse error feedback.
Definition at line 329 of file strencodings.cpp.
Convert decimal string to unsigned 16-bit integer with strict parse error feedback.
Definition at line 359 of file strencodings.cpp.
Convert decimal string to unsigned 32-bit integer with strict parse error feedback.
Definition at line 370 of file strencodings.cpp.
Convert decimal string to unsigned 64-bit integer with strict parse error feedback.
Definition at line 394 of file strencodings.cpp.
Convert decimal string to unsigned 8-bit integer with strict parse error feedback.
Definition at line 348 of file strencodings.cpp.
std::string SanitizeString | ( | const std::string & | 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 30 of file strencodings.cpp.
Definition at line 112 of file strencodings.cpp.
Timing-attack-resistant comparison.
Takes time proportional to length of first argument.
Definition at line 186 of file strencodings.h.
Converts the given character to its lowercase equivalent.
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] | c | the character to convert to lowercase. |
Definition at line 250 of file strencodings.h.
std::string ToLower | ( | const std::string & | 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 638 of file strencodings.cpp.
Converts the given character to its uppercase equivalent.
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] | c | the character to convert to uppercase. |
Definition at line 275 of file strencodings.h.
std::string ToUpper | ( | const std::string & | 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 646 of file strencodings.cpp.