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

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

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

Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

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


пробел, пробел, неразрывый пробел, пробел.
arriah
новенький
Сообщения: 94
Зарегистрирован: 29.07.2015 15:42:35

Сообщение arriah »

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

Ну вот фиг его знает, по коду показывает 2 пробела вначале и один в конце, а C2 и A0 походу неразрывный пробел
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

И..и... Вы хотели узнать что за символы.... Узнали. Пользу вам принесло?
arriah
новенький
Сообщения: 94
Зарегистрирован: 29.07.2015 15:42:35

Сообщение arriah »

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

Ага. Еще больше ненавижу UTF8 :)
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

а выбрать... так же как выбирают перевод строки -- #C2#A0 или #C2+#A0 (если честно, даже не знаю какой вариант идеологически правильней.)
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

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

Добавлено спустя 1 минуту 19 секунд:
TStringList, вроде как, должен хранить ту кодовую страницу которую вы в него "пихаете"...
arriah
новенький
Сообщения: 94
Зарегистрирован: 29.07.2015 15:42:35

Сообщение arriah »

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 она неверно отрабатывает?
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

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

Добавлено спустя 37 минут 41 секунду:
альтернатива, кстати, есть в самом лазаре...
Ответить