2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 453
|
|||||||||||
1 | |||||||||||
128 символов когда их всего 95?03.01.2023, 09:03. Показов 1741. Ответов 46
Метки нет (Все метки)
Очень странная багуля. Функция подсчета символов iconv_strlen выдает,
что в имени файла 95 символов, а substr видит в имени файла 128 символов? Как это понимать? Имя файла: Dark Path (ОБТ). Repack от SEREGA-LUS Торрент Скачать моды для STALKER, Сталкер. SpAa-Team.html
0
|
03.01.2023, 09:03 | |
Ответы с готовыми решениями:
46
Задано текст до 128 символов. Дополнить пробелами до 128 символов. Шифровать тексты таким образом, чтобы каждый символ т Найти объем текста, записанного на языке, алфавит которого содержит 128 символов и 2000 символов в сообщении Длина строки только 128 символов QUOTENAME nvarchar больше 128 символов Записать строку длиннее 128 символов в базу MS SQL |
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 453
|
|
03.01.2023, 09:11 [ТС] | 2 |
0
|
485 / 320 / 180
Регистрация: 07.11.2022
Сообщений: 556
|
|
03.01.2023, 09:53 | 3 |
Сообщение было отмечено G_manX как решение
Решениеsubstr() считает длину строк в байтах (т.е. корректно считает символы только в однобайтовой кодировке).Для получения подстрок в многобайтовых кодировках используйте mb_substr() Для вычисления длины таких строк есть аналогичная функция mb_strlen()
1
|
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 453
|
|
03.01.2023, 10:09 [ТС] | 4 |
rr33rrА как понять однобайтовая у меня кодировка или нет?
Английские буквы считаются однобайтовой?
0
|
485 / 320 / 180
Регистрация: 07.11.2022
Сообщений: 556
|
|
03.01.2023, 10:35 | 6 |
Кодировку файла можно посмотреть, например, в Notepad++
Примеры однобайтовых кодировок: ASCII, KOI8, Windows-1251 Широко распространенная UTF-8 — многобайтовая (разные символы могут быть представлены 1,2,3 или 4 байтами). Английские буквы (в UTF-8) обрабатываются одинаково корректно и однобайтовыми и многобайтовыми функциями, т.к. представлены 1 байтом
0
|
03.01.2023, 10:51 | 7 |
Если внимательнее посмотреть, то там кириллицы 33 символа. А так как её не бывает в именах файлов, и в среднем 1 символ "кириллицы" кодируется в 3 правильных символа, то как раз и может получится 128.
Просто всегда используй mb_substr(). ...и UTF-8
0
|
03.01.2023, 11:02 | 10 | |||||
Ну, по ссылке кодировки кириллицы.
А как оттуда следует, что кириллицы не бывает в именах файлов?
0
|
1261 / 959 / 225
Регистрация: 01.10.2018
Сообщений: 3,713
|
|
03.01.2023, 11:09 | 11 |
0
|
03.01.2023, 11:15 | 13 |
Не просто "не должно быть" - её нет в принципе . Все "неправильные" символы в реальности записаны в коде (юникоде, если я не ошибаюсь). Перекодировкой и отображением занимается ОС и/или другое ПО (файлменеджеры, браузеры и тд.)
Поэтому если на имя такого файла посмотреть в ОС без поддержки кириллицы, то мы увидим "крокозябры" или "ромбики с вопросом".
0
|
1261 / 959 / 225
Регистрация: 01.10.2018
Сообщений: 3,713
|
|
03.01.2023, 11:15 | 14 |
Чистый вид - это бинарное представление в определенной символьной кодировке (utf-8) без кодирования в Base64 и т.п.
0
|
1261 / 959 / 225
Регистрация: 01.10.2018
Сообщений: 3,713
|
|
03.01.2023, 11:16 | 16 |
0
|
1261 / 959 / 225
Регистрация: 01.10.2018
Сообщений: 3,713
|
|
03.01.2023, 11:18 | 18 |
0
|
1261 / 959 / 225
Регистрация: 01.10.2018
Сообщений: 3,713
|
|
03.01.2023, 11:23 | 20 |
0
|
03.01.2023, 11:23 | |
03.01.2023, 11:23 | |
Помогаю со студенческими работами здесь
20
Типы: почему если прибавить единицу к char, получится 128, а не -128? SELECT запрос файла 128 мб, PHP скрипт отжимает эти 128 мб, можно ли сэкономить? Ввести с экрана строку символов в 128 байт и записать ее построчно в выходной поток Создать символьный массив, состоящий из кодов символов 128–255 и вывести его на экран Создать символьный массив, состоящий из кодов символов 128–255 и вывести его на экран Как стартуют новые сайты, когда там 0 всего Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |