Re: Путь приложения
Posted: Wed Dec 21, 2016 11:01 pm
А у приложения прикомпилированная или подгруженная либа, которую писал совсем другой человек. И у которого совсем другие представления о том, в какой кодировке указан путь.
Ну так и что это меняет? Пусть либа читает кодировку из заголовка. Или ты собрался внезапно затереть заголовок?Serge wrote:подгруженная либа, которую писал совсем другой человек
Code: Select all
======================================================================
== Function 70, subfunction 1 - read folder with long names support. =
======================================================================
.........................................................
* +8: dword: names encoding:
0 = default
1 = cp866
2 = UTF-16LE
3 = UTF-8
Code: Select all
0 = cp866
1 = UTF-16LE
...а потом оказывается нужно использовать две библиотеки, одна из которых хочет UTF-8, а другая UTF-16.0CodErr wrote:Библиотеки, они не сами по себе живут.
В любом случае должна быть согласованность между приложением и библиотекой.
Если твоя библиотека хочет, например, UTF16, то ты просто говоришь ядру посредством поля в заголовке приложения, что ты хочешь UTF16.
После этого ядро кладёт тебе путь\параметры в UTF16.
Затем ты передаёшь свои путь\параметры в UTF16 в библиотеку.
Ну и для ASCII\UTF8 аналогично.
Без разницы, я их всё равно со временем удалю.Pathoswithin wrote:Так, вам осталось сделать свой вклад - выбрать номера двух новых функций для UTF-8 и UTF-16 (например 80 или 32).
А давайте вообще 10 библиотек и 10 разных кодировокCleverMouse wrote:...а потом оказывается нужно использовать две библиотеки, одна из которых хочет UTF-8, а другая UTF-16.
Вот-вот, не нужно лишних проблем создавать. Хотя, при работе с разными кодировками 99,99% что понадобится конвертер. А значит, проблемы снова никакой. Только вот далеко не всем нужно несколько библиотек и несколько кодировок.CleverMouse wrote:Мы не боимся трудностей, которые сами себе и создаём (c)
Ну и какой смысл тогда? 0 = 1 в данном случае. Зачем тогда ты сделал изменения? Ничего не улучшилось, удобнее не стало.Pathoswithin wrote:В данном случае default = cp866, но может зависеть от той настройки, которую ты планировал реализовать.
А я тебе говорил уже, что ты узко мыслишь. Ладно, вот тогда пример не от меня, от постороннего человека, только там уже не гигабайты, а терабайты http://www.linux.org.ru/forum/talks/9406274Pathoswithin wrote:Кстати, ты так и не привёл конкретный пример обработки 100 ГБ символов в UTF-8.
CleverMouse wrote:Без разницы, я их всё равно со временем удалю.
Это тогда сломает обратную совместимость. Вообще при такой тенденции есть вероятность, что KolibriOS просто переедет отсюда в другое место. А товарищи, без конца ломающие обратную совместимость, могут и дальше продолжать разрабатывать свою OS, только теперь уже based on KolibriOS. В KolibriOS обратная совместимость ломаться не будет. И, кстати, GPL не запрещает при желании использовать ещё чей-то код.CleverMouse wrote:Останутся старые функции, которые будут принимать UTF-8.
Необходимость конвертирования - это и есть проблема.0CodErr wrote:понадобится конвертер. А значит, проблемы снова никакой
Если всё будет в UTF-8, то большая часть, если не все, существующих программ вообще не заметит разницы.0CodErr wrote:Это тогда сломает обратную совместимость.
Ты сама себе противоречишь!CleverMouse wrote:Необходимость конвертирования - это и есть проблема.
CleverMouse wrote:...а потом оказывается нужно использовать две библиотеки, одна из которых хочет UTF-8, а другая UTF-16.
Они и так не заметят, потому что по умолчанию ASCII. UTF8 это лишние тормоза, которых можно избежать, если не ограничиваться только одной этой кодировкой.Если всё будет в UTF-8, то большая часть, если не все, существующих программ вообще не заметит разницы.
Так это же ты предлагаешь каждой библиотеке свою кодировку. Я как раз и говорю, что0CodErr wrote:Ты сама себе противоречишь!CleverMouse wrote:Необходимость конвертирования - это и есть проблема.CleverMouse wrote:...а потом оказывается нужно использовать две библиотеки, одна из которых хочет UTF-8, а другая UTF-16.
Это где это я такое говорил??? Ну-ка, ну-ка покажи-ка!!!CleverMouse wrote:Так это же ты предлагаешь каждой библиотеке свою кодировку.
А ты хочешь искусственно ограничиться одной только UTF8.Но для обработки внутри программы советуют UCS2/UTF-16/UTF-32.
0CodErr wrote:Но её можно будет(надеюсь ) задавать в заголовке приложения.
Если кодировка по всей системе одна, её нельзя задавать в заголовке приложения, и библиотека не может "хотеть" какую-то другую.0CodErr wrote:Если твоя библиотека хочет, например, UTF16, то ты просто говоришь ядру посредством поля в заголовке приложения, что ты хочешь UTF16.