Вы не можете выпустить UTF-8, если вы не знаете , что поступает. Если вы знаете кодировку стандартного ввода, вы можете использовать iconv
или даже ICU4C для преобразования в UTF-8,а затем сбросить гекс в обычном порядке.В некоторых случаях вы можете предположить, что stdin соответствует локали, указанной в переменной среды LANG, но ничто не мешает кому-либо запускать:
yourprogram < SomeFileFullOfISO-2022-JP