Невидимые символы

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Re: Невидимые символы

Сообщение Лекс Айрин » 22.07.2016 16:25:45

arriah писал(а):тоже самое только в Hex:
$20 $20 $C2 $A0 $20


пробел, пробел, неразрывый пробел, пробел.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: Невидимые символы

Сообщение arriah » 22.07.2016 16:29:05

pupsik писал(а):2 пробела, 1 NO-BREAK SPACE и пробел???
Где NO-BREAK SPACE -неразрывный пробел. Т.е. просто пробелы?

Ну вот фиг его знает, по коду показывает 2 пробела вначале и один в конце, а C2 и A0 походу неразрывный пробел
arriah
новенький
 
Сообщения: 85
Зарегистрирован: 29.07.2015 16:42:35

Re: Невидимые символы

Сообщение pupsik » 22.07.2016 16:31:01

И..и... Вы хотели узнать что за символы.... Узнали. Пользу вам принесло?
pupsik
энтузиаст
 
Сообщения: 1011
Зарегистрирован: 20.08.2014 16:20:13

Re: Невидимые символы

Сообщение arriah » 22.07.2016 16:36:37

pupsik писал(а):И..и... Вы хотели узнать что за символы.... Узнали. Пользу вам принесло?

Ага. Еще больше ненавижу UTF8 :)
arriah
новенький
 
Сообщения: 85
Зарегистрирован: 29.07.2015 16:42:35

Re: Невидимые символы

Сообщение Лекс Айрин » 22.07.2016 16:38:12

а выбрать... так же как выбирают перевод строки -- #C2#A0 или #C2+#A0 (если честно, даже не знаю какой вариант идеологически правильней.)
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: Невидимые символы

Сообщение pupsik » 22.07.2016 16:43:01

Ага. Еще больше ненавижу UTF8
а при чем тут он? Вам дают текст. Кодировка должна быть определена изначально (или вы включаете хрустальный шар). Согласно этого обработка.
Или utf8trim не верно срабатывает? Т.е. "говорит" что строка не пуста при пробелах?

Добавлено спустя 1 минуту 19 секунд:
TStringList, вроде как, должен хранить ту кодовую страницу которую вы в него "пихаете"...
pupsik
энтузиаст
 
Сообщения: 1011
Зарегистрирован: 20.08.2014 16:20:13

Re: Невидимые символы

Сообщение arriah » 22.07.2016 16:51:42

pupsik писал(а):
Ага. Еще больше ненавижу UTF8
а при чем тут он? Вам дают текст. Кодировка должна быть определена изначально (или вы включаете хрустальный шар). Согласно этого обработка.
Или utf8trim не верно срабатывает? Т.е. "говорит" что строка не пуста при пробелах?

Добавлено спустя 1 минуту 19 секунд:
TStringList, вроде как, должен хранить ту кодовую страницу которую вы в него "пихаете"...

Нет, тут скорее всего "ненавижу" в том плане, что в голове теперь путаница с этими кодировками.
utf8trim отрабатывает нормально
То есть в исходнике, до обработки получаем 20 20 c2 a0 20, и после обычного trim - оставалось c2a0 вот мне и было непонятно что это за символы, и если я правильно понял - это код неразрывного пробела в unicode.
Все данные берутся из базы в UTF8 поэтому придется все тримы заменить на utf8trim, надеюсь что НЕюникодные пробелы он тоже съест...

Добавлено спустя 5 минут 51 секунду:
глянул таблицу кодов:
Номер в Юникоде U+00A0
HTML-код  
Мнемоника  

Но перед обработкой у меня StringReplace заменяет &nbsp на #32 - или опять из-за UTF8 она неверно отрабатывает?
arriah
новенький
 
Сообщения: 85
Зарегистрирован: 29.07.2015 16:42:35

Re: Невидимые символы

Сообщение pupsik » 22.07.2016 18:16:48

StringReplace = 1251. А вы "даёте" ютф8 строку. Как вы думаете: что она там наменяет?
Ищите для ютф8 функцию, или преобразуйте в 1251...

Добавлено спустя 37 минут 41 секунду:
альтернатива, кстати, есть в самом лазаре...
pupsik
энтузиаст
 
Сообщения: 1011
Зарегистрирован: 20.08.2014 16:20:13

Пред.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 1

Рейтинг@Mail.ru