|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
Парсинг строки, не могу получить киррилический символ20.06.2011, 11:16. Показов 6850. Ответов 6
Метки нет (Все метки)
0
|
|
| 20.06.2011, 11:16 | |
|
Ответы с готовыми решениями:
6
Как получить символ из строки? Получить указатель на символ строки string |
|
2 / 2 / 1
Регистрация: 21.06.2011
Сообщений: 7
|
||||||
| 21.06.2011, 21:08 | ||||||
|
Это всё из-за кодировки UTF8. Там номер байта не есть номер символа в строке (да и кодировка не однобайтная). Можно примерно так:
1
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 22.06.2011, 06:47 [ТС] | ||
|
Проблема не в номерах символа и байта, а в том, что если символ двухбайтный, то получить получается только его первый байт.
Добавлено через 46 секунд Добавлено через 19 минут 1. Какова максимальная длина кода символа UTF-8? Два байта, или больше? Сколько именно? 2. Дан первый байт. Как определить длину кода символа? Если эта подзадача будет решена, то номер байта я просто отсчитаю от начала строки. 3. Даны строка и номер первого байта. Как получить многобайтный символ?
0
|
||
|
2 / 2 / 1
Регистрация: 21.06.2011
Сообщений: 7
|
||
| 22.06.2011, 21:03 | ||
Цитата: "Символы, закодированные в UTF-8, могут быть длиной до шести байт, однако стандарт Unicode не определяет символов выше 0x10ffff, поэтому символы Unicode могут иметь максимальный размер в 4 байта в UTF-8." http://ru.wikipedia.org/wiki/UTF-8 Т.е. он переменной длины. По-моему, проще преобразовать в Ansi, сделать всё что нужно, а потом преобразовать назад (если необходимо). Хотя, конечно, дело вкуса. Может я, конечно, просто вопрос не понял. Какова задача в целом? Что должен делать этот парсер (на простеньком примере: что на входе - пример, что на выходе - пример)?
1
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||||||||||
| 23.06.2011, 07:05 [ТС] | |||||||||||||||||||
|
Добавлено через 25 минут По ссылке смотрел. Так:
Добавлено через 33 минуты По тесту получаается, что большая русская Р имеет код 0xA0D0, а по таблице всё, что больше 0x07FF - длинее двух байт. Добавлено через 5 минут
Добавлено через 12 минут
0
|
|||||||||||||||||||
|
36 / 36 / 7
Регистрация: 08.01.2011
Сообщений: 137
|
|
| 23.06.2011, 07:22 | |
|
Попробуйтие почитать тут: Работа со строками в Lazarus.
Может ничего нового и не подчерпнете, но многое встанет на свои места. Ну и про байты там тоже немного есть. И, к стати, там и про конвертацию написано (был у вас такой пост), думаю и по этому вопросу вы получите там исчерпывающий ответ.
1
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 23.06.2011, 08:56 [ТС] | |
|
UTF8Copy работает с номером и количеством байт и переворачивает порядок байт.
Добавлено через 10 минут Оказалось, что не с того байта пустил. Но с номером и количеством байт. Добавлено через 11 минут Заработало с символами. Через безвайда.
0
|
|
| 23.06.2011, 08:56 | |
|
Помогаю со студенческими работами здесь
7
Как получить первый символ строки? Как получить символ из строки типа String^ Можно ли удалив 1 символ из строки, получить палиндром? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|