![]() |
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. More... | |
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. More... | |
bool | IsHexNumber (const std::string &str) |
Return true if the string is a hex number, optionally prefixed with "0x". More... | |
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 (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. More... | |
std::string | EncodeBase32 (const std::string &str, bool pad=true) |
Base32 encode. More... | |
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. More... | |
constexpr bool | IsSpace (char c) noexcept |
Tests if the given character is a whitespace character. More... | |
bool | ParseInt32 (const std::string &str, int32_t *out) |
Convert string to signed 32-bit integer with strict parse error feedback. More... | |
bool | ParseInt64 (const std::string &str, int64_t *out) |
Convert string to signed 64-bit integer with strict parse error feedback. More... | |
bool | ParseUInt8 (const std::string &str, uint8_t *out) |
Convert decimal string to unsigned 8-bit integer with strict parse error feedback. More... | |
bool | ParseUInt16 (const std::string &str, uint16_t *out) |
Convert decimal string to unsigned 16-bit integer with strict parse error feedback. More... | |
bool | ParseUInt32 (const std::string &str, uint32_t *out) |
Convert decimal string to unsigned 32-bit integer with strict parse error feedback. More... | |
bool | ParseUInt64 (const std::string &str, uint64_t *out) |
Convert decimal string to unsigned 64-bit integer with strict parse error feedback. More... | |
bool | ParseDouble (const std::string &str, double *out) |
Convert string to double with strict parse error feedback. More... | |
std::string | HexStr (const Span< const uint8_t > s) |
Convert a span of bytes to a lower-case hexadecimal string. More... | |
std::string | HexStr (const Span< const char > 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. More... | |
template<typename T > | |
bool | TimingResistantEqual (const T &a, const T &b) |
Timing-attack-resistant comparison. More... | |
bool | ParseFixedPoint (const std::string &val, int decimals, int64_t *amount_out) |
Parse number as fixed point according to JSON number syntax. More... | |
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. More... | |
constexpr char | ToLower (char c) |
Converts the given character to its lowercase equivalent. More... | |
std::string | ToLower (const std::string &str) |
Returns the lowercase equivalent of the given string. More... | |
constexpr char | ToUpper (char c) |
Converts the given character to its uppercase equivalent. More... | |
std::string | ToUpper (const std::string &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... | |
enum SafeChars |
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 | ) |
int64_t atoi64 | ( | const std::string & | str | ) |
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 659 of file strencodings.cpp.
bool ConvertBits | ( | const O & | outfn, |
I | it, | ||
I | end | ||
) |
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 206 of file strencodings.h.
std::vector<uint8_t> DecodeBase32 | ( | const char * | p, |
bool * | pf_invalid = nullptr |
||
) |
std::string DecodeBase32 | ( | const std::string & | str, |
bool * | pf_invalid = nullptr |
||
) |
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 EncodeBase32 | ( | const std::string & | 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 232 of file strencodings.cpp.
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 217 of file strencodings.cpp.
std::string EncodeBase64 | ( | const std::string & | str | ) |
std::string EncodeBase64 | ( | Span< const uint8_t > | input | ) |
Definition at line 137 of file strencodings.cpp.
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.
Definition at line 440 of file strencodings.cpp.
signed char HexDigit | ( | char | c | ) |
|
inline |
std::string HexStr | ( | const Span< const uint8_t > | s | ) |
Convert a span of bytes to a lower-case hexadecimal string.
Definition at line 667 of file strencodings.cpp.
|
constexpr |
Tests if the given character is a decimal digit.
[in] | c | character to test |
Definition at line 83 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 64 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 73 of file strencodings.cpp.
|
inlineconstexprnoexcept |
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 99 of file strencodings.h.
bool ParseDouble | ( | const std::string & | str, |
double * | out | ||
) |
Convert string to double with strict parse error feedback.
Definition at line 422 of file strencodings.cpp.
bool ParseFixedPoint | ( | const std::string & | 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 522 of file strencodings.cpp.
std::vector<uint8_t> ParseHex | ( | const char * | psz | ) |
Definition at line 87 of file strencodings.cpp.
std::vector<uint8_t> ParseHex | ( | const std::string & | str | ) |
bool ParseInt32 | ( | const std::string & | str, |
int32_t * | out | ||
) |
Convert string to signed 32-bit integer with strict parse error feedback.
Definition at line 314 of file strencodings.cpp.
bool ParseInt64 | ( | const std::string & | str, |
int64_t * | out | ||
) |
Convert string to signed 64-bit integer with strict parse error feedback.
Definition at line 334 of file strencodings.cpp.
bool ParseUInt16 | ( | const std::string & | str, |
uint16_t * | out | ||
) |
Convert decimal string to unsigned 16-bit integer with strict parse error feedback.
Definition at line 364 of file strencodings.cpp.
bool ParseUInt32 | ( | const std::string & | str, |
uint32_t * | out | ||
) |
Convert decimal string to unsigned 32-bit integer with strict parse error feedback.
Definition at line 375 of file strencodings.cpp.
bool ParseUInt64 | ( | const std::string & | str, |
uint64_t * | out | ||
) |
Convert decimal string to unsigned 64-bit integer with strict parse error feedback.
Definition at line 399 of file strencodings.cpp.
bool ParseUInt8 | ( | const std::string & | str, |
uint8_t * | out | ||
) |
Convert decimal string to unsigned 8-bit integer with strict parse error feedback.
Definition at line 353 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 31 of file strencodings.cpp.
void SplitHostPort | ( | std::string | in, |
uint16_t & | portOut, | ||
std::string & | hostOut | ||
) |
Definition at line 113 of file strencodings.cpp.
bool TimingResistantEqual | ( | const T & | a, |
const T & | b | ||
) |
Timing-attack-resistant comparison.
Takes time proportional to length of first argument.
Definition at line 178 of file strencodings.h.
|
constexpr |
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 242 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 643 of file strencodings.cpp.
|
constexpr |
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 267 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 651 of file strencodings.cpp.