|
|
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
kv67, несложно сообразить, что раз автор вопроса говорит про TEncoding - то он использует Delphi 2009 и выше, где String = UnicodeString = двухбайтовая строка. Соответственно, этот код (написанный в предположении Delphi 2007 и ниже, где String = AnsiString = однобайтовая строка) правильно работать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 17:31 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmoker, Согласен, у меня - Delphi 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 17:37 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmoker, А если так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 17:52 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
kv67, в D2009+ AnsiString-строки - это не просто однобайтовые буфера. Там дополнительно хранится ещё кодовая страница. Соответственно, по умолчанию в AnsiString она = CP_ACP, что на "русской Windows" = 1251. Ну и когда в такую строку пихают хрен знает что (= " не текст в 1251") - ничего хорошего из этого обычно не получается. Для фиксированных кодовых страниц есть type AnsiString( CP ), для произвольных кодовых страниц - RawByteString (ну либо TEncoding). Для особых извращенцев есть ещё SetCodePage. И нафиг не нужно в D2009+ выполнять какие-то преобразования руками. Достаточно понимать, что у тебя где лежит (где байты, где строки, и где какая кодировка) - и всё преобразуется простым присвоением одного к другому. Я в упор не вижу, что тут сложного/непонятного. Не надо лепить монстров - просто нажмите F1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 23:00 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
А чего не сделать простым способом? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 23:36 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Сергей из Самары, Чего-то при копировании кодировка 866 слетела. oldstr в кодировке dos ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 23:38 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
А вообще правильней так: Код: pascal 1. 2. 3. 4. 5. 6. 7. Правда, давно уже с этой функцией работал, пишу по ппамяти, так что могу немного где-то ошибиться. Нужно проверить на проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 23:42 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Товарищи, вы голову совсем/принципиально не включаете? Или читать не умеете? Как можно постить код сразу после детального объяснения, почему он не будет работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 00:02 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmoker, прошло почти 4 года с топика. и число было 13-е и достаточно поздно могу на всю петицию автора написать "НУ НУ". Поработайте одновременно с Кириллицей, Умлаутами Немецкими и Турецкими, я посмотрю как Вы заговорите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2019, 14:59 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2038749]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
6ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 406ms |

| 0 / 0 |
