Мне нужно прочитать текстовый файл, который является Unicode с кодировкой UTF-8, и должен записать эти данные в другой текстовый файл. Файл имеет данные с разделителями разделов в строках.Чтение файла Unicode UTF-8 с помощью кода, отличного от юникода
Мой код чтения - код на C++ без поддержки юникода. То, что я делаю, это чтение файла по строкам в string/char*
и помещение этой строки как есть в файл назначения. Я не могу изменить код, поэтому предложения по смене кода не приветствуются.
Что я хочу знать, так это то, что при чтении строк за строкой я могу встретить NULL завершающий символ ('\ 0') внутри строки, так как он является юникодом, а один символ может охватывать несколько байтов.
Мое мышление состояло в том, что вполне возможно, что в строке может встречаться конечный символ NULL. Твои мысли?
На самом деле UTF-8 был специально спроектирован так, чтобы это было правдой, потому что полезно иметь кодировку, в которой диапазон ASCII хранится по одному байту каждый и который разумно работает при передаче в 'strcpy() 'и его друзей. – RBerteig