|
|
|
Преобразование строк
|
|||
|---|---|---|---|
|
#18+
Имеется таблица, в ней хранятся строки, сформированные через Fox, они разбираются алгоритмом Код: plaintext При разборе в дельфе, при выборе строки алгоритмом Код: plaintext 1. некоторые символы из строки при преобразовании получают другой ASCII код. Как правильно выбрать данные без потери реальных значений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 10:38 |
|
||
|
Преобразование строк
|
|||
|---|---|---|---|
|
#18+
Проблема с кодовыми страницами. Один и тот же символ, выглядящий одинаково в разных кодовых страницах будет иметь разный ASCII-код Когда ты определяешь ASCII код в FoxPro, то символы беруться в текущей кодовой страницы среды FoxPro. Что это за страница можно проверить при помощи ?CPCURRENT() В момент записи в символьное поле, если существует файл конфигурации CONFIG.FPW (это обычный текстовый файл) со строкой CODEPAGE=1251 происходит автоматическая конвертация полученной строки в кодовую страницу таблицы. Проверить текущую кодовую страницу таблицы можно через функцию ?DBF() В общем случае, кодовая страница среды FoxPro и файла DBF могут отличаться. Когда разбираешь в Delphi, то тут уже надо смотреть в какой кодовой странице происходит работа именно в среде Delphi. Как? Я не в курсе. Не работал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 13:08 |
|
||
|
Преобразование строк
|
|||
|---|---|---|---|
|
#18+
авторсмотреть в какой кодовой странице происходит работа именно в среде Delphi 8) смотреть это влегкую (default by c_1251), а проставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 16:26 |
|
||
|
Преобразование строк
|
|||
|---|---|---|---|
|
#18+
Получил данные в двоичном виде, можно как-нить вытащить скэн коды этих данных прямо из кодовой страницы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 11:33 |
|
||
|
Преобразование строк
|
|||
|---|---|---|---|
|
#18+
Feg16Получил данные в двоичном виде, можно как-нить вытащить скэн коды этих данных прямо из кодовой страницы? Не понял вопроса. Что подразумевается под фразой "скэн коды" применительно к "данные в двоичном виде"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 15:04 |
|
||
|
Преобразование строк
|
|||
|---|---|---|---|
|
#18+
Подразумевает вытаскивание скан-кода символа из кодовой странице по его бинарному значению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 12:19 |
|
||
|
Преобразование строк
|
|||
|---|---|---|---|
|
#18+
Feg16Подразумевает вытаскивание скан-кода символа из кодовой странице по его бинарному значению Как Вы думаете, как физически хранятся символьные данные? Т.е. что именно физически записано на диске? То самое, что Вы прочитали как "бинарное значение"? Это собственно и есть ASCII-код символа. Вам его надо всего-лишь перевести в десятичное представление. Но это возвращает к исходной проблеме. Кодовая страница какая? Т.е. сам по себе ASCII-код ничего не значит. Чтобы понять, какой именно символ за ним скрывается надо использовать кодовую страницу. В файле DBF признак кодовой страницы записан в 29 байте заголовка (первый байт имеет порядковый номер 0). Вот некоторые значения этого байта и чему они соответствуют x01 - 437 - U.S. MS-DOS x65 - 866 - Russian MS-DOS xC9 - 1251 - Russian Windows x03 - 1252 - Windows ANSI Надо читать текст файла DBF в той кодовой странице, которая указана в 29 байте заголовка. Тогда разночтений не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 12:56 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33675574&tid=1591810]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
208ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 544ms |

| 0 / 0 |
