A character is an abstract symbol of text. An ordered collection (i.e. a list) of characters is a string.
Here is a routine to convert a hexadecimal number to the corresponding Unicode character
proc hex2char hex { if {![string is xdigit -strict $hex]} { error [list {input is not a hexidecimal string}] } if {[string length $hex] > 8} { error [list {hexadecimal string is too long}] } expr "\"\\U$hex\"" }