Module std::ascii
The ASCII module defines basic string and char newtypes in Move that verify that characters are valid ASCII, and that strings consist of only valid ASCII characters.
use std::option;
use std::vector;
Struct String​
The String struct holds a vector of bytes that all represent valid ASCII characters. Note that these ASCII characters may not all be printable. To determine if a String contains only "printable" characters you should use the all_characters_printable predicate defined in this module.
public struct String has copy, drop, store
Struct Char​
An ASCII character.
public struct Char has copy, drop, store
Constants​
An invalid ASCII character was encountered when creating an ASCII string.
const EInvalidASCIICharacter: u64 = 65536;
An invalid index was encountered when creating a substring.
const EInvalidIndex: u64 = 65537;
Function char​
Convert a byte into a Char that is checked to make sure it is valid ASCII.
public fun char(byte: u8): std::ascii::Char
Function string​
Convert a vector of bytes bytes into an String. Aborts if bytes contains non-ASCII characters.
public fun string(bytes: vector<u8>): std::ascii::String
Function try_string​
Convert a vector of bytes bytes into an String. Returns Some(<ascii_string>) if the bytes contains all valid ASCII characters. Otherwise returns None.
public fun try_string(bytes: vector<u8>): std::option::Option<std::ascii::String>
Function all_characters_printable​
Returns true if all characters in string are printable characters.
Returns false otherwise. Not all Strings are printable strings.
public fun all_characters_printable(string: &std::ascii::String): bool
Function push_char​
Push a Char to the end of the string.
public fun push_char(string: &mut std::ascii::String, char: std::ascii::Char)
Function pop_char​
Pop a Char from the end of the string.
public fun pop_char(string: &mut std::ascii::String): std::ascii::Char
Function length​
Returns the length of the string in bytes.
public fun length(string: &std::ascii::String): u64
Function append​
Append the other string to the end of string.
public fun append(string: &mut std::ascii::String, other: std::ascii::String)
Function insert​
Insert the other string at the at index of string.
public fun insert(s: &mut std::ascii::String, at: u64, o: std::ascii::String)
Function substring​
Copy the slice of the string from i to j into a new String.
public fun substring(string: &std::ascii::String, i: u64, j: u64): std::ascii::String
Function as_bytes​
Get the inner bytes of the string as a reference
public fun as_bytes(string: &std::ascii::String): &vector<u8>
Function into_bytes​
Unpack the string to get its backing bytes
public fun into_bytes(string: std::ascii::String): vector<u8>
Function byte​
Unpack the char into its underlying bytes.
public fun byte(char: std::ascii::Char): u8
Function is_valid_char​
Returns true if b is a valid ASCII character.
Returns false otherwise.
public fun is_valid_char(b: u8): bool
Function is_printable_char​
Returns true if byte is a printable ASCII character.
Returns false otherwise.
public fun is_printable_char(byte: u8): bool
Function is_empty​
Returns true if string is empty.
public fun is_empty(string: &std::ascii::String): bool
Function to_uppercase​
Convert a string to its uppercase equivalent.
public fun to_uppercase(string: &std::ascii::String): std::ascii::String
Function to_lowercase​
Convert a string to its lowercase equivalent.
public fun to_lowercase(string: &std::ascii::String): std::ascii::String
Function index_of​
Computes the index of the first occurrence of the substr in the string.
Returns the length of the string if the substr is not found.
Returns 0 if the substr is empty.
public fun index_of(string: &std::ascii::String, substr: &std::ascii::String): u64
Function char_to_uppercase​
Convert a char to its lowercase equivalent.
fun char_to_uppercase(byte: u8): u8
Function char_to_lowercase​
Convert a char to its lowercase equivalent.
fun char_to_lowercase(byte: u8): u8