ОС выбирает кодировку для ввода с клавиатуры и декодирование для вывода на экран? - PullRequest
0 голосов
/ 28 ноября 2011

это операционная система, которая выбирает схемы кодирования и декодирования, такие как ASCII, UTF 8 для клавиатурных входов и экранных выходов?

Также я хочу знать, как компилятор выбирает схему кодирования для символьных строк?

1 Ответ

1 голос
/ 28 ноября 2011

Как правило, операционные системы получают числовые идентификаторы нажатых клавиш с клавиатуры. Затем они преобразуются во все, что подходит. Я, например, использую ту же ОС и клавиатуру для написания текста на 4+ языках. Я просто переключаю «раскладку клавиатуры» в ОС и тип, и ОС интерпретирует одни и те же клавиши по-разному. Все, что ОС использует для представления текстовых данных, зависит от ОС. В старые времена в таких системах, как MSDOS, вы обычно могли использовать только один язык за раз (то есть один в дополнение к английскому или любому другому языку, для которого достаточно ASCII, есть ли такой, кстати?), Потому что для каждого символа были только 8 бит памяти. С некоторыми взломами и обходными путями эти 8 бит могут быть преодолены. Современные операционные системы в наши дни используют Unicode для внутреннего представления текста (это может быть UTF-16 в Windows или UTF-8 в Linux).

Компилятору (с учетом ограничений, вытекающих из стандарта языка программирования, которому компилятор заявляет о соответствии), как кодировать символы и строки символов. Некоторые разрешают и используют только 8-битные (ASCII + 128 дополнительных символов + кодовые страницы / локали), другие поддерживают Unicode (UTF-8 или UTF-16 или почти Unicode, то есть UCS-2), тогда как другие поддерживают другие схемы многобайтового кодирования ( для таких языков, как китайский, например).

...