Snippet. Vala. Convert String to Unichar Array

The function string_to_unichar_array converts a string into an unichar (unicode characters) array in Vala.

//======================== START OF FUNCTION ==========================//
// FUNCTION: string_to_unichar_array                                   //
//=====================================================================//
unichar[] string_to_unichar_array(string str) {
    unichar[] char_array = new unichar[str.length];

    for (int i = 0; i < str.length; i++){
        char_array[i] = str.get_char(str.index_of_nth_char(i));
    }

    return char_array;
}
//=====================================================================//
// FUNCTION: string_to_unichar_array                                   //
//========================= END OF FUNCTION ===========================//

Example

string hi = "Hello, world!";
unichar[] hi_unichar_array = string_to_unichar_array(hi);
for (int i=0; i<hi_unichar_array.length; i++){
    stdout.printf(hi_unichar_array[i].to_string() + "\n");
}

Result

H
e
l
l
o
,

w
o
r
l
d
!

Updated on: 24 Apr 2024