Приятной особенностью UTF8 является то, что каждая строка UTF8 также является допустимой строкой C, заканчивающейся NUL.Это означает, что вы должны иметь возможность просто привести указатель на первый символ байтового массива в виде (const char *) и передать его в CString, как если бы вы использовали любую строку C с NUL-концевыми символами.
Обратите внимание, чтоесли CString не знает о семантике UTF8 (я не достаточно знаком с CString, чтобы точно знать, как он работает, но я подозреваю, что нет), некоторые операции, имеющие смысл в строке C ASCII, могут давать странные результаты для строки C UTF8,Например, метод Reverse (), который меняет порядок следования байтов в строке, не будет делать правильных вещей для строки UTF8, поскольку он не будет знать, как хранить многобайтовые символы вместе в исходном порядке, и обратитбайты многобайтового символа.