Convert numeric bytes to Unicode character representation
unicodestr = native2unicode(bytes)
unicodestr = native2unicode(bytes, encoding)
unicodestr = native2unicode(bytes) converts a numeric vector, bytes, from the user default encoding to Unicode® character representation. bytes is treated as a stream of 8-bit bytes, and each value must be in the range [0,255]. Return value unicodestr is a char vector having the same general array shape as bytes.
unicodestr = native2unicode(bytes, encoding) converts bytes to Unicode representation assuming that the byte stream is in the character encoding scheme specified by the string encoding. encoding must be the empty string ('') or a name or alias for an encoding scheme. Some examples are 'UTF-8', 'latin1', 'US-ASCII', and 'Shift_JIS'. If encoding is unspecified or is the empty string (''), the default encoding scheme is used.
This example begins with a vector of bytes in an unknown character encoding scheme. The user-written function detect_encoding determines the encoding scheme. If successful, it returns the encoding scheme name or alias as a string. If unsuccessful, it throws an error represented by an MException object, ME. The example calls native2unicode to convert the bytes to Unicode representation:
try enc = detect_encoding(bytes); str = native2unicode(bytes, enc); disp(str); catch ME rethrow(ME); end
Note that the computer must be configured to display text in a language represented by the detected encoding scheme for the output of disp(str) to be correct.