Представление символа в char?
Просто char в сишечке знаковый, вы его преобразуйте в uint8_t вместо int и будет правильное значение.
Поправка: символы в ASCII кодируются от 0 до 127, и знаковость char на них не распространяется.

Всё, что за пределами 127, — это Latin-1, OEM, ANSI, UTF-8, что угодно, но не ASCII. Пишут, что всё это называют расширенным ASCII, но как можно о чём-то говорить, если это КОИ-8, и другие кодировки.

Приведённый код не переносим. Например, в Windows 10 есть возможность для старых программ врубить кодировку UTF-8 вместо всяких 1251 и 866. Там ваши ╬ совсем по-другому кодируются. Используйте только Юникод. В разных языках программирования и разных трансляторах качество стандартной библиотеки варьируется. Если стандартная библиотека бяка, придётся через API операционки работать, пока там до этих жирафов дойдёт.

Хорошим тоном будет, обнаружив консоль, писать в неё через юникодные API, а, обнаружив перенаправление, писать байты UTF-8, игнорируя ACP_OEM и пр., чтоб быстрее похоронить зоопарк всего, отличного от Юникода.