Николай Коровин (03.12.2015 16:01 - 16:06, просмотров: 131) ответил LightElf на И что FAT16? Кетайские и японские имена - запросто. Кодировочки оченно забавные бывают. Даже в юникоде есть проблемы с upper/lower case, патамучта у турков есть буквы "маленькая i без точки" и "большая I с точкой". И вот сунут в ваш прибор флешку,
Два вопроса: 1) где гарантия, что сторонняя библиотека прожуёт? 2) А у прибора в паспорте поддержка юникода есть или чётко написано «имена 8.3 латиницей»? Нарпотреб и спецтехника — очень разные звери. Бывает, посмотришь на готовую библиотеку, от которой надо 5% и в которой хрен знает какие медведи в глубине зарыты, возьмёшь и свелосипедишь эти 5%. И точно знаешь: 8.3 латиницей будет работать с любым кластером, а на любой кривой формат выдаст мессагу об ошибке. Лишив, конечно, возможности работать с турецкими именами, но защитив от того, что из-за кривой FAT эксперимент в пару килобаксов тихо, молча запишется криво, потому что «фирменная» либа именно такого подвоха-то и не ждала. Не, ну с FAT личного интима не было (пока), я просто для примера.
Кстати, юникод — живой пример того, на что я дико матерюсь «сделали настолько универсально, что по факту не сделали ни хуя» — можно всё и поэтому ничего не регламентировано. Upper/lower должен отличаться на один бит, и точка. Всегда и везде. Не, ну чероки (одно начертание) или там арабы (аж четыре!), у которых нет такого понятия — как и псевдографика, сами по себе. Нет upper/lower — нет и этого правила.
Русская таблица:
А Б В Г Д…
а б в г д…
Английская:
A B C D E…
a b c d e…
Уродская турецкая:
H I İ J K…
h ı i j k…
Фашистская немецкая:
Q R S SS T U (да, именно так — отдельная графема для SS, парная эсцету)
q r s ß t u
И, ради Ктулху, всю ЁёÄäЙй — строго через систему общих диакритических знаков. Алфавит АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ, точка. Системы надо принудительно лишать двойственности, или они сами тебя лишат девственности. Кстати — тогда и дуремарский надо оставить без İi, национальной Iı этим говнобесам будет достаточно.