Skip to main content

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
Click to open
Fields
bytes: vector<u8>

Struct Char

An ASCII character.

public struct Char has copy, drop, store
Click to open
Fields
byte: u8

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