Программирование ARM: решение проблем, FAQ IAR 8.30: русский текст в редакторе кода Fri, December 13 2019  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

IAR 8.30: русский текст в редакторе кода Печать
Добавил(а) microsin   

Если раньше, во времена Windows XP и Windows 7, среда разработки IAR (по крайней мере в версии 5.5 и 6.5) поддерживала очень удобную однобайтовую кодировку текста ANSI для русского текста, то теперь, с появлением Windows 10 можно использовать только кодировку UTF-8.

[Как добиться редактирования русского текста IAR 8.30]

Процесс по шагам:

1. Tools -> Options... -> Common Fonts -> выберите, если это еще не выбрано, шрифт Courier, Набор символов: Кириллица -> OK.

2. Tools -> Options... -> Editor -> File Encoding -> Default character encoding: UTF-8. Также поставьте галочку Auto-detect character encoding. В выпадающем списке "EOL characters:" выберите PC, это задает традиционное двухсимвольное окончание строк 0x0D, 0x0A (CRLF) для текста на платформе Windows.

3. Теперь осталось все старые файлы текста перекодировать в кодировку UTF-8. К сожалению, в самом IAR это сделать нельзя, придется воспользоваться сторонними инструментами.

Для этой цели я пользуюсь любимым текстовым редактором Notepad2. Чтобы проверить / поменять кодировку файла, откройте этот файл в Notepad2, и выберите в меню File -> Encoding -> UTF-8. Редактор предупредит о смене кодировки файла: "Переключение кодировки с ANSI на не-ANSI (и наоборот) может заменить не поддерживаемый текст символами по умолчанию, и история Отмены (Undo) будет очищена. Продолжить?":

Notepad2 encoding ANSI change

Ответьте положительно "Yes", и текст будет перекодирован в UTF-8, сохраните файл. Если этот файл был открыт в редакторе IAR, то он будет автоматически обновлен, и теперь Вы сможете редактировать в нем русский текст.

Имейте в виду, что теперь каждый символ текста может кодироваться не одним, а двумя байтами. Это чревато дополнительными неудобствами при выводе русского текста в последовательные терминалы, например в UART. Если на выходе последовательного порта нежелателен поток символов в кодировке UTF-8, то перед физическим выводом русского текста потребуется дополнительная перекодировка из UTF-8 в ANSI или в КОИ8.

 

Добавить комментарий


Защитный код
Обновить

Top of Page