Здравствуйте! Может ли компилятор GNAT строить правильное представление литералов Wide String или Wide Wide String при кодировке исходников UTF-8 или ANSI?
> Здравствуйте! > Может ли компилятор GNAT строить правильное представление литералов Wide String или Wide Wide String при кодировке исходников UTF-8 или ANSI? Может. Мы на эту тему написали однажды вот такой примерчик: https://www.adacore.com/gems/gem-22
Чтв 30 Ноя 2017 19:21:37 +0200, Vasiliy Fofanov [email protected] [ada ru] <ada [email protected]> написал: > > Здравствуйте! > > Может ли компилятор GNAT строить правильное представление литералов Wide String или Wide Wide String при кодировке исходников UTF-8 или ANSI? > Чтобы использовать UTF-8 в исходниках нужно компилятору указать ключ -gnatW8. > Может. Мы на эту тему написали однажды вот такой примерчик: https://www.adacore.com/gems/gem-22 > А ведь странный примерчик: My Favorite Pie : String := "π"; -- :) Символ "π" не входит в Latin-1. О чём компилятор и сообщит main.adb:2:33: literal out of range of type Standard.Character Скорее всего имелось ввиду Wide String или Wide Wide String?
Большое всем спасибо! Сейчас попробую.
> Скорее всего имелось ввиду Wide_String или Wide_Wide_String? Безусловно :) Индивидуальные исходники проверены сборкой, там ошибок нет :)
From: [email protected] [mailto:[email protected]] Sent: Thursday, November 30, 2017 8:35 PM To: [email protected] Subject: [ada_ru] Re: Литералы Wide String, Wide Wide String? >К великому счастью, про ANSI — ни сном, ни духом. Только этого бардака >там не хватало. Настрадались уже в Си, Делфи и Джаве. [Sergey Dukov] Вообще то я при реализации сборки 64-разрядной версии GNAT gpl 2017 (http://www.rtsdd.ru/gnat_gpl_2017_building_up_mingw64.aspx) ввёл в GPS кодировки ANSI и OEM, а кодировку по умолчанию установил ANSI. При программировании под Windows нужны только ANSI, OEM и UTF-8 кодировки. В указанной сборке я сгенерировал ANSI варианты пакетов GNATCOM, GWindows и GHTML. Может лучше сгенерировать UNICODE варианты указанных пакетов? С уважением. Сергей Дюков.
On 11/30/2017 10:07 PM, Dukov Sergey [email protected] [ada_ru] wrote: > > */[Sergey Dukov] /*Вообще то я при реализации сборки 64-разрядной версии > GNATgpl 2017 > (http://www.rtsdd.ru/gnat_gpl_2017_building_up_mingw64.aspx) ввёл в > GPSкодировки ANSIи OEM, а кодировку по умолчанию установил ANSI. При > программировании под Windowsнужны только ANSI, OEMи UTF-8 кодировки. В > указанной сборке я сгенерировал ANSIварианты пакетов GNATCOM, GWindowsи > GHTML. Может лучше сгенерировать UNICODEварианты указанных пакетов? > Под Windows безусловно пора переходить на UNICODE :) Современная RTL GNAT-а уже использует именно W (Unicode) API, и что бы не было "приятных" сюрпризов - лучше целенаправлено двигаться в мир Unicode.
Здравствуйте, Сергей! Я сделал заготовку, из которой штампую остальные проекты: http://forum.pascal.net.ru/index.php?act=Attach&type=post&id=16123 Там Wide_Wide_String применяется. > Может ли компилятор GNAT строить правильное представление литералов > Wide_String или Wide_Wide_String при кодировке исходников UTF-8 или ANSI? К великому счастью, про ANSI — ни сном, ни духом. Только этого бардака там не хватало. Настрадались уже в Си, Делфи и Джаве. Вот ещё перевод 22й изюминки: http://www.mediascan.by/index.files/gem000_ru/Gem-022_ru.pdf С уважением, Левашев Иван, Барнаул -- If you want to get to the top, you have to start at the bottom
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти