История изменений
Исправление vbr, (текущая версия) :
Честно говоря так и не понял, чем тебя iconv не устроил. Читаешь в буфер сколько-нибудь символов, конвертируешь во что-нибудь, с чем тебе удобно работать, в тот же UTF-8, скажем, и отрабатываешь сконвертированный кусок. Потом следующий и так далее. Хочешь по одному кодопоинту обрабатывать — конвертируй в UTF-32 и в выходном буфере под 4 байта место выделяй, хотя это и не слишком производительно будет, но на фоне I/O вероятно любой код будет достаточно быстрым. Но лучше — UTF-8 и буфер килобайтов на 16.
Исправление vbr, :
Честно говоря так и не понял, чем тебя iconv не устроил. Читаешь в буфер сколько-нибудь символов, конвертируешь во что-нибудь, с чем тебе удобно работать, в тот же UTF-8, скажем, и отрабатываешь сконвертированный кусок. Потом следующий и так далее. Хочешь по одному кодопоинту обрабатывать — конвертируй в UTF-32 и в выходном буфере под 4 байта место выделяй, хотя это и не слишком производительно будет, но на фоне I/O вероятно любой код будет достаточно быстрым. Но в идеале — UTF-8 и буфер килобайтов на 16.
Исправление vbr, :
Честно говоря так и не понял, чем тебя iconv не устроил. Читаешь в буфер сколько-нибудь символов, конвертируешь во что-нибудь, с чем тебе удобно работать, в тот же UTF-8, скажем, и отрабатываешь сконвертированный кусок. Потом следующий и так далее. Хочешь по одному кодопоинту обрабатывать — конвертируй в UTF-32 и в выходном буфере под 4 байта место выделяй, хотя это и не слишком производительно будет, но на фоне I/O вероятно любой код будет достаточно быстрым.
Исходная версия vbr, :
Честно говоря так и не понял, чем тебя iconv не устроил. Читаешь в буфер сколько-нибудь символов, конвертируешь во что-нибудь, с чем тебе удобно работать, в тот же UTF-8, скажем, и отрабатываешь сконвертированный кусок. Потом следующий и так далее.