|
|
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Долго рылся на форуме, но не нашел :(. Есть текстовый файл в кодировке 866. Читаю оттуда строку кракозябр и нужно перевести её в WIN1251. Но у TEncoding я не нашел нужную мне кодировку. Кто знает - помогите, пожалуйста. Пытался так : Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 15:31 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Яву знаешь? Если да, то проще некуда: 17506892 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 15:38 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
С чего взяли, что UTF8 = 866? Что там цифра 8 в обоих есть? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 15:39 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
smallsergЧитаю оттуда строку Начнём с того, что приведённый код записывает строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 15:40 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmokersmallsergЧитаю оттуда строку Начнём с того, что приведённый код записывает строку. И добей его тем, что smallsergДолго рылся на форуме, но не нашел Не соответствует действительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 15:43 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Ну и как бы, если кодировка совсем фиксирована, то TEncoding не нужен. TEncoding применяется, когда кодировка не известна на этапе компиляции. А так-то можно: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 15:48 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmoker, Проверил последний пример - волшебства не увидел. Как были символы 'Привет', так эти символы и записались в файл. Я же пытаюсь добиться отображения кракозябр русскими буквами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 17:02 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
smallserg, Попробуй так: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 17:08 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
smallsergПроверил последний пример - волшебства не увидел. Как были символы 'Привет', так эти символы и записались в файл. Я же пытаюсь добиться отображения кракозябр русскими буквами.Правильно поставленный вопрос содержит половину ответа. Вот и учись ставить. Пока у тебя не стыкуется код с вопросами, а телепатов, чтобы понять, что тебе на самом деле нужно, здесь очень мало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 17:11 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
DarkMasterПопробуй так:Это конвертнёт из CP-866 в UTF-16, не уверен что это надо ТС-у :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 17:15 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 17:50 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Точнее, так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 17:52 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
smallsergКак были символы 'Привет', так эти символы и записались в файл. Несложно сообразить, что проблема - в записи в файл. Для танкистов: Вариант с TEncoding: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Вариант с AnsiString(CodePage): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 18:01 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Вариант с TStringList: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 18:04 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Кстати... DarkMasterПопробуй так: Код: pascal 1. Утечка. TEncoding.GetEncoding создаёт новый объект, который нужно освобождать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 19:56 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Ну и, соответственно, в моих примерах выше можно по аналогии TMBCSEncoding.Create(866) заменить на TEncoding.GetEncoding(866) (и TMBCSEncoding на TEncoding). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 19:58 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmoker, Это как бы очевидный пример для отображения. С остальным просто не стал заморачиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 21:17 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmoker, Спасибо, конечно, за помощь, но перед тем как выложить пост вы пробуете компилировать ваши варианты? Вариант с TStringList дает ошибку "Undeckared identitfier: CodePage" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 09:48 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
GunSmokerВариант с TStringList: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Этот вариант действительно записывает Привет в кодировке 866. Но почему тогда не проходит обратная перекодировка? Пробую вот так : Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 10:10 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
Так тоже не получается Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. естественно, type объявлен в public ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 10:52 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
kv67Точнее, так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ЏаЁўҐв - это слово Привет в кодировке 866. В результате ваша функция получила из него 'ПрБѮҠт' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 11:15 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
smallsergЏаЁўҐв - это слово Привет в кодировке 866. Если я всё правильно вижу™, то - нет. В вашем случае это ЏаЁўҐв в кодировке unicode. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 12:14 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
авторНо почему тогда не проходит обратная перекодировка? Поточу что нет знания о том, что такое строки и кодировки. Строка - это текст. Например, 'привет'. Она имеет представление в байтах, которое определяет кодировка. И эти два представления смешивать не нужно. В строках нужно хранить текст и не пытаться вставлять в них "байтовое представление строки 'привет' в кодировке MS DOS". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 12:27 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 12:30 |
|
||
|
Кодировка текста (про TEncoding читал и пробовал)
|
|||
|---|---|---|---|
|
#18+
smallserg, Прошу прощения, у меня работает вот так (немного поправил функцию): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 17:06 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39145581&tid=2038749]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
135ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 436ms |

| 0 / 0 |
