![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
DarkWishmaster |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Привет. Как я понял тип char работает с символами из ASCII, но там нету русских букв, китайский и.т
А вот мне надо составить програму: Например есть текст. документ из русских букв и надо транслировать его в англ. Это вообще возможно? например : русский - russkii |
-TarasBer- |
![]()
Сообщение
#2
|
Гость ![]() |
В char есть русские буквы.
|
DarkWishmaster |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
В char есть русские буквы. когда их читаю из документов то их показывают какими то непонятными символами. Мне надо читать из файла всё как есть и транслировать в другой язык, в моем случае в румынском, где так же есть символы типа 'ă', 'î' 'ş', и.т Можно как нибудь сделал что-бы паскаль их распозновал? |
-TarasBer- |
![]()
Сообщение
#4
|
Гость ![]() |
Паскаль работает в ДОС-кодировке, документ сохранён в виндовой кодировке.
Поэтому такая фигня. Могу посоветовать набить код в программе, поддерживающей виндовую кодировку. код такого плана: case c[i] of 'А' : res := res + 'A'; 'Б' : res := res + 'B'; 'В' : res := res + 'V'; end; |
DarkWishmaster |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Паскаль работает в ДОС-кодировке, документ сохранён в виндовой кодировке. Поэтому такая фигня. Могу посоветовать набить код в программе, поддерживающей виндовую кодировку. код такого плана: case c[i] of 'А' : res := res + 'A'; 'Б' : res := res + 'B'; 'В' : res := res + 'V'; end; я пока тока язык Паскаль, так что... А Паскаль АBC или FPC поддерживают виндовую кодировку? |
-TarasBer- |
![]()
Сообщение
#6
|
Гость ![]() |
> А Паскаль АBC
Да > или FPC Не знаю. У него среда же с закосом под Турбо, так что хз, какая там кодировка. Да проверь, тупо в блокноте вбей русский текст, в ФПЦ открой и посмотри, что будет. > поддерживают виндовую кодировку? |
DarkWishmaster |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
> А Паскаль АBC Да > или FPC Не знаю. У него среда же с закосом под Турбо, так что хз, какая там кодировка. Да проверь, тупо в блокноте вбей русский текст, в ФПЦ открой и посмотри, что будет. > поддерживают виндовую кодировку? спасибо за помощь. АВС уже видит русский текст а вот символы типа 'ă' 'ş' 'ţ' видет как '?'. Если он поддерживает виндовую кодировку, значит должен быть способ это исправить? Сообщение отредактировано: DarkWishmaster - 18.03.2011 21:22 |
andriano |
![]()
Сообщение
#8
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Вообще-то стандартный ASCII - семибитная телеграфная кодировка и действительно не содержит кириллицы.
Но т.к. принято, что в байте 8 битов, а не 7, широкое распространение получила т.н. расширенная ASCII, в которой кроме 128 стандартных символов ASCII присутствует еще 128. Но т.к. для разных языков потребный набор символов различается, существует масса различных вариантов расширенной таблицы ASCII, называемых кодировками. В этом случае прочитать текст, не зная, в какой кодовой странице он закодирован, невозможно. Отсюда и "кракозябры". Собственно, даже вариантов кодировки кириллицы существует не менее 6 (1251-Windows, 866-DOS, ГОСТ, КОИ-8, 8859-5 и MAC). Решением проблемы разнообразных кодировок является Юникод, имеющий две разновидности: UTF-16 - двухбайтовая кодировка, UTF-8 - кодировка с переменным количеством байт на символ. В частности, символы первой половины ASCII - однобайтовые, а символы кириллицы - двухбайтовые. Никаких препятствий для обработки любой кодировки (включая Юникод) в Паскале - нет. Единственное, достаточно трудоемко их адекватная отображение. Кроме того, можно воспользоваться средствами, скажем, WinAPI. |
![]() ![]() |
![]() |
Текстовая версия | 17.06.2025 23:51 |