Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Total Commander (часть 13)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы: Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Часть 6 Часть 7 Часть 8 Часть 9 Часть 10 Часть 11 Часть 12

 

 
 
Текущая финальная версия: 11.56 (32-битная/64-битная/32+64) (19.08.2025)
 
Предыдущие версии: 11.5x: 11.55 (32/64/32+64); 11.0x: 11.03 (32/64/32+64);
10.5x: 10.52 (32/64/32+64); 10.0x: 10.00 (32/64/32+64);
9.5x: 9.51 (32/64/32+64); 9.2x: 9.22a (32/64/32+64); 9.1x: 9.12 (32/64/32+64); 9.0x: 9.0a (32/64/32+64);
8.5x: 8.52a (32/64/32+64); 8.0x: 8.01 (32/64/32+64);
 
Коллекции предыдущих версий: Польский сайт TC | Ссылки на TotalcmdWiki
Новейшая история изменений (11.56, англ.)  

"Когда ждать финальную версию x.xx?" — "Когда будет готова!" © К. Гислер
На вопрос "Когда будет русик к версии x.xx?" ответ точно такой же © CaptainFlint


Полный набор русификации от CaptainFlint и Avada
v9.5+ (9.51, 14.11.2020, с переводом справки): CHM (зеркало), HLP (зеркало)
Начиная с версии 7.50 стандартный набор русификации от тех же авторов входит в дистрибутив TC!
 
Стандартный набор русификации от М. Жилина
v9.0+ (9.20, 03.07.2018): Скачать

Официальный сайт разработчика | Официальный форум TC | TotalcmdWiki | Русский сайт TC | Русский форум TC
О проблемах с wincmd.ru/totalcmd.net Подробности

Все вопросы по плагинам и аддонам — в Плагинах
Все вопросы по лечению пациента — только в Варезнике
Настроенные сборки Total Commander (и все вопросы по ним)

Онлайновая русская справка (для TC 9.51, 14.11.2020)
Total Commander Knowledge Base 3.0 (русскоязычная база знаний)  
Офлайновая версия TCKB 1.7 (CHM-файл)
Все ключи Total Commander (онлайновые версии файлов данных Ultra TC Configuration Editor)
Команды и параметры Total Commander (справочные таблицы)
Стандартные клавиатурные назначения Total Commander (справочные таблицы)
История версий Total Commander (русский перевод)

Всего записей: 39598 | Зарегистр. 26-02-2002 | Отправлено: 22:07 20-11-2024 | Исправлено: Avada, 11:01 02-09-2025
AkulaBig

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
El Sanchez
Не, не то. Тут единственный способ перечислить все схожие по написанию буквы латиницы и кириллицы. И отслеживать их соседство в одном слове. Еще и однобуквенные слова как-то отслеживать. Такая расцветка хотя-бы будет намекать, что в имени возможны проблемы. Но не знаю, можно-ли составить такое регэксп.
 
Добавлено:
yozhic

Цитата:
надо подсветить такие имена файлов, которые при обработке сторонними программами могут вызвать проблемы

Внимательно почитал все, что вы написали и решил, что ваше регулярка поинтересней моей. Из имеющихся файлов подсвечиваются одинаково и вашей регуляркой и моей. Но, возможно, где-то ваша регулярка сработает где-то лучше моей. Поэтому остановлюсь на ней.

Цитата:
Если файл «КК».doc попробовать упаковать в ZIP из TC, то выскочит окошко «Внимание!..

Кстати, проводник в Вин11 без проблем распаковывает такие файлы.

Всего записей: 6367 | Зарегистр. 11-03-2003 | Отправлено: 16:00 30-08-2025
yozhic



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Отличить, что сочетание русской «и» и латинской «а» в «слове» СборкиAkelpad — это не ошибка, а в «слове» братИаков — это ошибка, автоматически можно только с привлечением лексического словаря. Ведь человек, когда читает, видит, что слова Сборки и AkelPad — валидные, значит их соединение — не ошибка. А программа так не может, ей нужен список валидных слов. И на уровне регулярки это кроме как через список исключений (?!...|...|...) не организуешь. Или отдельную утиль-анализатор писать ))  

Всего записей: 3135 | Зарегистр. 20-03-2008 | Отправлено: 16:50 30-08-2025 | Исправлено: yozhic, 16:56 30-08-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yozhic
Можно сделать кучу уточнений:
• Символ из другого языка встречается в единственном числе и не отделён не-буквенным символом.  
• Имя файла не может быть обработано без поддержки уникода (привет всяким "разорванным" ё й ї...).
• Слишком много чередований символов из разных языков (больше одного).
• И т.д....
Только с этими усложнениями не факт, что можно будет уложиться в регулярку, а не специально для этого писать плагин и делать для него кастомную колонку.

Всего записей: 19727 | Зарегистр. 04-11-2010 | Отправлено: 16:56 30-08-2025
yozhic



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig (пост)
Цитата:
Кстати, проводник в Вин11 без проблем распаковывает такие файлы.

Распаковывает или упаковывает? Впрочем, не суть. Я потому и посетовал выше, что времени не хватает на добросовестное изучение вопроса. Потому как хоть вроде и понятно что мы имеем в виду, но когда пытаешься это точно сформулировать, выясняется, что известные термины не подходят. А разница может быть вполне тривиальна: проводник может молча упаковывать имена с кавычками-ёлочками в UTF-8, а Total всего лишь только честно об этом предупреждает, хотя делает то же самое — я это точно не знаю, просто догадываюсь, надо изучать, но времени увы.  
 
Добавлено:
insorg (пост)
Цитата:
Символ из другого языка встречается в единственном числе и не отделён не-буквенным символом

Тогда не подсветится АМБАСАДОР, где АСА — латинские ))
Я это всё передумал, прежде чем отписаться. В целом, если цель подсветки — всего лишь обратить внимание (а не запускать что-то необратимое, к примеру обработку какую-нить), то случаями типа «СборкиAkelPad» можно пренебречь — подсветилось оно, обратили мы внимание, поняли что вхолостую, ну и ладно, зато случаи типа АМБАСАДОР не пропустим.

Всего записей: 3135 | Зарегистр. 20-03-2008 | Отправлено: 17:04 30-08-2025
AkulaBig

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yozhic

Цитата:
Распаковывает или упаковывает?  

Распаковывает. Выше написано, что Проводник Винды не может распаковать такой архив.

Всего записей: 6367 | Зарегистр. 11-03-2003 | Отправлено: 17:28 30-08-2025
yozhic



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig
Кстати, то, что Total среагировал на кавычки-ёлочки в имени и стал предлагать упаковать их в UTF-8, для меня было сюрпризом — чего он в них такое углядел? В наборе win-1251 они есть. Он на них среагировал осмысленно или по недогляду? Однако, выяснять всё это — отдельная история. Можно пока ограничиться бесспорным минимумом, а потом уже пускаться в исследования (при желании и возможности).

Всего записей: 3135 | Зарегистр. 20-03-2008 | Отправлено: 17:34 30-08-2025
AkulaBig

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yozhic

Цитата:
В наборе win-1251 они есть

Они есть в расширенном наборе win-1251, где и русские буквы присутствуют. А в стандартном ASCII их нет. На этот файл Программа_для_преобразования_файлов_—_копия.xlsb тоже реагирует.
А вообще вдруг пришла мысль. А можно-ли добавить расширенный набор win-1251 в регулярку? Кажется надо просто перечислить все эти символы. Похоже это было-бы полным решением вопроса.
Кстати, я четко разделяю регулярку для смешанных символов и для символов Юникода среди ASCII. А то мне кажется, что вы это все в одну регулярку хотите свести? Или я просто не понял вас и надо делить ваши предложения на разные темы?
Вики:
Extended ASCII — это набор кодировок символов, который включает (большую часть) исходного набора из 96 символов ASCII, а также до 128 дополнительных символов. Официального определения «расширенного ASCII» не существует, и даже использование этого термина иногда подвергается критике, поскольку его можно ошибочно интерпретировать как указание на то, что Американский национальный институт стандартов (ANSI) обновил свой стандарт ANSI X3.4-1986, включив в него больше символов, или что этот термин обозначает единую однозначную кодировку, что не соответствует действительности.

Всего записей: 6367 | Зарегистр. 11-03-2003 | Отправлено: 17:42 30-08-2025 | Исправлено: AkulaBig, 17:49 30-08-2025
www_world

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
El Sanchez

Цитата:
стандарт не знает такого определения как суррогатные символы, есть суррогатные пары.

это игрища в слова, никак не меняющие сути сказаного выше

Цитата:
"UTF-16 — кодировка, позволяющая записывать символы Юникода в диапазонах U+0000…U+D7FF и U+E000…U+10FFFF (общим количеством 1 112 064). При этом каждый символ записывается одним или двумя словами (суррогатная пара)."

 
И да, я заметил, что тут не все (а точнее, мало кто) понимает, чем отличаются юникод программы (включая оси) от не-юникод программ (включая оси). Но в данном случае важны практические следствия из этих различий.
Какой интервал символов соответствует интервалу, выраженному регэкспом?
[x00-\xff]
(чтобы не растекаться по джунглям программ, будем говорить применительно к TC (как вариант, TC + упомянутый контентный плагин).
Отталкиваясь от ответа, попробуйте развить мысль "про не-юникод символы на юникод осях"
(про utf8 не стоит вспоминать, поскольку он работает (там где он поддерживается) только через разные ухищрения (типа конвертирования, трансляцию и тд). Желающих писать программы с прямой поддержкой юникода в utf8, полагаю, уже нет).  

Цитата:
 Только вот в примере их нет, как и ANSI, кодовых страниц или UTF-8.  

То есть вы утверждаете, что в юникоде (мы говорим про юникод-программы) символы могут записываться двумя словамм (составлять юникодную пару) и при этом не быть суррогатными (то есть, их пара вовсе не суррогатная, а некоего другого типа?

Цитата:
[^\p{Cyrillic}]\p{Cyrillic}|\p{Cyrillic}[^\p{Cyrillic}]

Выражение - не очень. Поскольку диапазон \p{Cyrillic} - вовсе не только русский алфавит, а много больше, а диапазон [^\p{Cyrillic}] вообще включает почти все за исключением примерно 1% всех существующих символов, и например, для американца или китайца практически эквивалентен выражению .*

Всего записей: 625 | Зарегистр. 04-11-2018 | Отправлено: 18:55 30-08-2025 | Исправлено: www_world, 19:05 30-08-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yozhic

Цитата:
чего он в них такое углядел? В наборе win-1251 они есть.  

А zip использует cp866 и прочие DOSовские кодировки. Вот и вся разгадка.

Всего записей: 19727 | Зарегистр. 04-11-2010 | Отправлено: 20:26 30-08-2025
yozhic



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg (пост)
Цитата:
А zip использует cp866 и прочие DOSовские кодировки. Вот и вся разгадка.

Ах, Семён Семёныч! Про слона то я и не подумал
 
AkulaBig, ну тогда задача упрощается, мы просто составляем регулярку на основе вот этой таблички:
https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT

Код:
[^\x00-\x7f\xA0\xA4\xA6\xA7\xA9\xAB-\xAE\xB0\xB1\xB5-\xB7\xBB\u0401-\u044F\u0451-\u045F\u0490\u0491\u2013\u2014\u2018\u2019\u201A\u201C-\u201E\u2020-\u2022\u2026\u2030\u2039\u203A\u20AC\u2116\u2122]

Теоретически она должна нас полностью удовлетворить. Кратко: Extended ASCII — это то же самое, что я пытался выразить термином «кодовая страница Windows-1251».
 
И ещё один момент: самое начало диапазона ASCII от \x00 до \x1f и ещё \x7f — это т.н. управляющие символы, которые в имена файлов попасть не могут, как я понимаю. Ещё никаким макаром в имена файлов не попадут запрещённые filename-символы * ? : < > и т.д. Поэтому запись \x00-\x7f избыточна, хотя и не вредна — ошибки она не вызовет, на работу регулярки не повлияет. Она вообще хороша тем, что краткая. Но если быть принципиально точным, то можно заменить её на \x20\x21\x23-\x29\x2B-\x2E\x30-\x39\x3B\x3D\x40-\x5B\x5D-\x7B\x7D\x7E .

Всего записей: 3135 | Зарегистр. 20-03-2008 | Отправлено: 21:33 30-08-2025 | Исправлено: yozhic, 21:37 30-08-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
никаким макаром в имена файлов не попадут запрещённые filename-символы * ? : < > и т.д

Не совсем...

Код:
MIME-Version: 1.0
Content-Type: application/octet-stream; name="тест.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="тест.7z"
 
N3q8ryccAARridY9CAAAAAAAAAB6AAAAAAAAAFc6VlMBAAPy5fHyAAEEBgABCQgABwsBAAEhIQEA
DAQACAoBt1AW/AAABQEZDAAAAAAAAAAAAAAAABE1AEIENQRBBEIEIAB8ACAAPAAgAD4AIAA6ACAA
PwAgACoAIABCBDUEQQRCBC4AdAB4AHQAAAAUCgEAgP0DVFno1wEVBgEAIAAAAAAA

 
Добавлено:
Так что можно и не убирать, пусть тоже проверяет.
 
Добавлено:
Для разнообразия пооткрывай архив нативным тоталовским 7z dll, потом плагинами типа 7zip.wcx и total7zip.wcx (можно ещё через Multiarc.wcx старый конфиг для консольной версии 7za.exe расчехлить), потом просто нормальными WinRar и 7zip.

Всего записей: 19727 | Зарегистр. 04-11-2010 | Отправлено: 21:51 30-08-2025
AkulaBig

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yozhic
Оно!
Только для PCREsearch вот такая запись:
(*UTF)[^\x00-\x7f\xA0\xA4\xA6\xA7\xA9\xAB-\xAE\xB0\xB1\xB5-\xB7\xBB\x{0401}-\x{044F}\x{0451}-\x{045F}\x{0490}\x{0491}\x{2013}\x{2014}\x{2018}\x{2019}\x{201A}\x{201C}-\x{201E}\x{2020}-\x{2022}\x{2026}\x{2030}\x{2039}\x{203A}\x{20AC}\x{2116}\x{2122}]
А я не догадался, что символы с 128 надо в юникоде писать

Цитата:
Поэтому запись \x00-\x7f избыточна, но не вредна

Да, я в курсе.
Я вот до такого выражения дошел:
^[^[:ascii:]а-яё]
Оно мой файл с UTF-16  подсвечивало, а Гений с UTF-8 - нет.
 
Добавлено:
insorg

Цитата:
Не совсем

У меня внутри просто файл с подчеркиваниями в имени: тест _ _ _ _ _ _ тест.txt. Вполне допустимый символ. А вот при включенном Total7zip: тест | < > : ? * тест.txt. Но это ведь настройки 7z, а не zip. Получается, что даже при настройках Распаковывать внутренним zip, распаковывает 7z.

Всего записей: 6367 | Зарегистр. 11-03-2003 | Отправлено: 21:55 30-08-2025 | Исправлено: AkulaBig, 22:05 30-08-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AkulaBig

Цитата:
тест _ _ _ _ _ _ тест.txt

Никаких подчёркиваний там нет. Это тоталовская отсебятина. Потому и я и говорю проверять разными инструментами, чтобы увидеть истинное имя файла, а не подменённое.
 
Добавлено:

Цитата:
Распаковывать внутренним zip

Это ж 7z архив, а не zip.
 
Если хочешь zip, держи:

Код:
MIME-Version: 1.0
Content-Type: application/octet-stream; name="тест-zip.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="тест-zip.zip"
 
UEsDBBQAAgAIAN17kla3UBb8BgAAAAQAAAAZACoA4qXh4iB8IDwgPiA6ID8gKiDipeHiLnR4dHVw
JgABv+HxjdGC0LXRgdGCIHwgPCA+IDogPyAqINGC0LXRgdGCLnR4dPv09OMnAFBLAQIUABQAAgAI
AN17kla3UBb8BgAAAAQAAAAZAE4AAAAAAAEAIQAAAAAAAADipeHiIHwgPCA+IDogPyAqIOKl4eIu
dHh0CgAgAAAAAAABABgAAG2foPFx2QEAAAAAAAAAAAAAAAAAAAAAdXAmAAG/4fGN0YLQtdGB0YIg
fCA8ID4gOiA/ICog0YLQtdGB0YIudHh0UEsFBgAAAAABAAEAlQAAAGcAAAAAAA==

 
Добавлено:
Поведение, кстати, аналогичное. А проводник вин 10 вообще пустой архив показывает.

Всего записей: 19727 | Зарегистр. 04-11-2010 | Отправлено: 22:06 30-08-2025 | Исправлено: insorg, 22:11 30-08-2025
AkulaBig

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg

Цитата:
Это ж 7z архив, а не zip.

Блин, мы-же выше проблему с zip обсуждали, вот я и того...

Цитата:
Поведение, кстати, аналогичное.

Похоже у вас в настройках zip стоит распаковывать 7z. У меня в zip файл с подчеркиваниями.

Цитата:
А проводник вин 10 вообще пустой архив показывает.

И в Вин11 тоже.
Как вам удалось создать такой файл? Ведь это не возможно. Или через линь?

Всего записей: 6367 | Зарегистр. 11-03-2003 | Отправлено: 22:25 30-08-2025 | Исправлено: AkulaBig, 22:26 30-08-2025
destiny_child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Суррогаты - суть и основа лишь utf-16 кодировки. Ибо раньше люди думали, что 16 бит хватит на все символы)))
Юникод - не кодировка, а стандарт присвоения любому новому символу из какого-то языка/диапазона - определённого имени, имеющем дополнительно присвоенное ему число, называемое людьми "кодовая точка". Это универсальный набор символов (UCS), который при помощи правил перевода в биты - кодовые единицы - сохраняется на диске/в памяти. Все эти правила - суть семейство кодировок Юникода.
 
И вот для 0го, базового мультиязычного плана (BMP) символов для семейства кодировок юникодного символа utf-16, т.е.для диапазона от U+0000 до U+FFFF кодовые единицы вырождаются в одно 16 битное слово. А для более высоких планов символов - в рамках этой кодировки уже можно говорить о суррогатных парах представления UCS. В планах с 1 по 16 именно они и используются. Т.к. для представления нужно использовать 2 кодовые единицы.
Они при кодировании используют суррогатный диапазон из BMP)))), который не имеет соответствия каким-либо символам/именам. Это тупо вспомогательные коды для этих целей кодирования....
 
Но важно не спутать это ещё с одной хренью....
С комбинирующими знаками. Именно они чаще и представляют собой то, что мы тут насобирали в примерах. Эти самые И + кратка. Кратка - это combining breve: U+0306. Именно это в сумме и образует глиф Й - отображение графемы на экране монитора))), т.е. ожидаемого визуального воспроизведения символа, известного нам как буква "И краткое", но на устройстве, а не на бумаге))), отображаемый нам каким-либо шрифтом.
И это не суррогатные пары! )))
 
Формы нормализации NFD и NFC как раз работают с комбинирующими знаками, а не с суррогатными парами.
 
· NFD (Декомпозиция): Преобразует заранее составной символ (типа U+00FC) в его разложенную форму: базовый символ + комбинирующий знак (u U+0075 + U+0308).
· NFC (Композиция): Пытается сделать обратное: найти последовательность "базовый символ + комбинирующий знак" и, если для нее существует отдельный код в Юникоде, заменить ее на этот единый символ.
 
Суррогатные пары остаются неизменными при любой нормализации, так как они представляют собой неделимую единицу — одну кодовую точку.
Оба механизма существуют параллельно в рамках стандарта Юникод и в части его представления через кодировку UTF-16.
 
И вот же у МАКоводов подогрело использовать utf-8 да ещё и в NFD форме нормализации..... Вот и понеслось ...

Всего записей: 4659 | Зарегистр. 01-04-2006 | Отправлено: 22:26 30-08-2025 | Исправлено: destiny_child, 23:54 30-08-2025
yozhic



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg (пост)
Цитата:
тест.7z

Вот жеж! Точно дураком помру ))
 
AkulaBig (пост)
Цитата:
\x{0401}

Ух, точно. Это я к AkelPad'овскому синтаксису привык, даже не думаю уже, на автомате.

Всего записей: 3135 | Зарегистр. 20-03-2008 | Отправлено: 23:01 30-08-2025 | Исправлено: yozhic, 23:02 30-08-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yozhic
Не помрёшь. Чуть дальше и zip есть. Принципиальной разницы это не даёт. Те самые символы можно сохранить в обоих из них.

Всего записей: 19727 | Зарегистр. 04-11-2010 | Отправлено: 23:05 30-08-2025
www_world

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Суррогаты - суть и основа лишь utf-16 кодировки. Ибо раньше люди думали, что 16 бит хватит на все символы)))
Юникод - не кодировка,


Цитата:
Набор символов, наиболее часто используемый на компьютерах сегодня, Юникод, глобальный стандарт для кодировки символов. Внутри приложения Windows используют реализацию Юникода UTF-16.  

https://learn.microsoft.com/ru-ru/windows/win32/intl/character-sets
Текущее обсуждение идет прежде всего в рамках проблем виндовой файловой системы.
То есть, в данном случае текстовое представление (символьное представление информации) для конечного юзера имеет место тождество Unicode = UTF16 (даже виндовый Блокнот об этом очень толсто намекает в выборе кодировки для сохранения).
 
Соответственно, сурогатные пары и образуемые ими суррогатные символы (синонимы могут быть любыми) - двухсловные символы в виндовом юникоде.
Нравится это кому-то или нет.
 
Баталии/рассуждения/размышления/... про остальные юникодные кодировки стоит вести, кам минимум, в темах по программам, которые их поддерживают directly (а не на уровне конверсии/трансляции).

Всего записей: 625 | Зарегистр. 04-11-2018 | Отправлено: 23:23 30-08-2025
CaptainFlint



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
www_world
https://www.unicode.org/glossary/#S

Цитата:
Surrogate Character.
A misnomer. It would be an encoded character having a surrogate code point, which is impossible. Do not use this term.
 
Surrogate Code Point.
A Unicode code point in the range U+D800..U+DFFF. Reserved for use by UTF-16, where a pair of surrogate code units (a high surrogate followed by a low surrogate) “stand in” for a supplementary code point.
 
Surrogate Code Unit.
This is a cover term for either a high-surrogate code unit or a low-surrogate code unit.
 
Surrogate Pair.
A representation for a single abstract character that consists of a sequence of two 16-bit code units, where the first value of the pair is a high-surrogate code unit, and the second is a low-surrogate code unit.
 
High-Surrogate Code Point.
A Unicode code point in the range U+D800 to U+DBFF.
 
Low-Surrogate Code Unit.
A 16-bit code unit in the range DC00 to DFFF, used in UTF-16 as the trailing code unit of a surrogate pair. Also known as a trailing surrogate.

Никаких других "суррогатных символов" в стандарте не существует.

----------
Почему же, ё-моё, ты нигде не пишешь "ё"?

Всего записей: 5619 | Зарегистр. 11-11-2002 | Отправлено: 02:19 31-08-2025
El Sanchez



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Текущее обсуждение идет прежде всего в рамках проблем виндовой файловой системы.

www_world, обсуждаторы получили в пример пару файлов из Windows, где имена в кодировке UTF-16LE идут. Но нет, надо ещё к многобайтной кодировке приплести однобайтную кодировку ANSI, её кодовые страницы и UTF-8.

Цитата:
Соответственно, сурогатные пары и образуемые ими суррогатные символы (синонимы могут быть любыми) - двухсловные символы в виндовом юникоде.

www_world, идущие подряд кодовые точкиU+0438 и U+0306 НЕ составляют никакие ни суррогатный символ (по вашей выдуманной терминологии), ни тем более суррогатную пару. Всего лишь декомпозиционная форма кодовой точки U+0439. FAR оставил символы как есть в форме NFD, ТС нормализовал в форму NFC, используемой в Windows. Ни там, ни там — не ошибка, обе формы представления каноничны. Если вы считаете, что после декомпозиции одна кодовая точка может раскладываться на пару и поэтому называться двухсловным символом, суррогатным символом и прочим бредом, то вы ошибаетесь. Возьмите любую арабскую лигатуру, U+FDFA например, которая ну никак на "пару" не раскладывается. 18 точек тоже "парой" назовёте?

Всего записей: 510 | Зарегистр. 23-12-2008 | Отправлено: 10:30 31-08-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

Компьютерный форум Ru.Board » Компьютеры » Программы » Total Commander (часть 13)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru