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