История изменений
Исправление den73, (текущая версия) :
В то же время в начале этой темы высказывалось мнение о том, что тип строки должен быть единственным. Но мне кажется, что возникает более чем один тип:
- строка в лучшем виде (массив кластеров)
- то, что отправляется по сети (набор байт в той или иной кодировке)
И вот в этом втором пункте и начинают появляться всякие «строка в кодировке utf-8», «строка в кодировке utf-16», строка нормализованная так и сяк - просто потому, что если мы внутри своей среды выполнения устроим рай, то нужно будет в этом раю манипулировать и с сущностями среднего мира, а они разношёрстные.
Кажется самым простым запретить для них все операции, кроме преобразования из/в правильную строку и разбития на подстроки (для буферизации), но я боюсь, как бы тут реальность не внесла свои коррективы.
И мне кажется, что из чтения этого https://gist.github.com/julik/1852214
следует то, что юникод - это культурная, а не техническая проблема, связанная с тем, что англоязычным пользователям и так хорошо, а когда мы, жители остального мира, пытаемся использовать их программы, то проблемы возникают у нас. В принципе, правильная колониальная политика - туземцам надо подарить отравленные одеяла.
Исправление den73, :
В то же время в начале этой темы высказывалось мнение о том, что тип строки должен быть единственным. Но мне кажется, что возникает более чем один тип:
- строка в лучшем виде (массив кластеров)
- - то, что отправляется по сети (набор байт в той или иной кодировке)
И вот в этом втором пункте и начинают появляться всякие «строка в кодировке utf-8», «строка в кодировке utf-16», строка нормализованная так и сяк - просто потому, что если мы внутри своей среды выполнения устроим рай, то нужно будет в этом раю манипулировать и с сущностями среднего мира, а они разношёрстные.
Кажется самым простым запретить для них все операции, кроме преобразования из/в правильную строку и разбития на подстроки (для буферизации), но я боюсь, как бы тут реальность не внесла свои коррективы.
И мне кажется, что из чтения этого https://gist.github.com/julik/1852214
следует то, что юникод - это культурная, а не техническая проблема, связанная с тем, что англоязычным пользователям и так хорошо, а когда мы, жители остального мира, пытаемся использовать их программы, то проблемы возникают у нас. В принципе, правильная колониальная политика - туземцам надо подарить отравленные одеяла.
Исправление den73, :
В то же время в начале этой темы высказывалось мнение о том, что тип строки должен быть единственным. Но мне кажется, что возникает более чем один тип:
- строка в лучшем виде (массив кластеров)
- - то, что отправляется по сети (набор байт в той или иной кодировке)
И вот в этом втором пункте и начинают появляться всякие «строка в кодировке utf-8», строка в кодировке «utf-16», строка нормализованная так и сяк - просто потому, что если мы внутри своей среды выполнения устроим рай, то нужно будет в этом раю манипулировать и с сущностями среднего мира, а они многшёрстные.
Кажется самым простым запретить для них все операции, кроме преобразования и разбития на подстроки (для буферизации), но я боюсь, как бы тут реальность не внесла свои коррективы.
И мне кажется, что из чтения этого https://gist.github.com/julik/1852214
следует то, что юникод - это культурная, а не техническая проблема, связанная с тем, что англоязычным пользователям и так хорошо, а когда мы, жители остального мира, пытаемся использовать их программы, то проблемы возникают у нас. В принципе, правильная колониальная политика - туземцам надо подарить отравленные одеяла.
Исправление den73, :
В то же время в начале этой темы высказывалось мнение о том, что тип строки должен быть единственным. Но мне кажется, что возникает более чем один тип:
- строка в лучшем виде (массив кластеров) - то, что отправляется по сети (набор байт в той или иной кодировке)
И вот в этом втором пункте и начинают появляться всякие «строка в кодировке utf-8», строка в кодировке «utf-16», строка нормализованная так и сяк - просто потому, что если мы внутри своей среды выполнения устроим рай, то нужно будет в этом раю манипулировать и с сущностями среднего мира, а они многшёрстные.
Кажется самым простым запретить для них все операции, кроме преобразования и разбития на подстроки (для буферизации), но я боюсь, как бы тут реальность не внесла свои коррективы.
И мне кажется, что из чтения этого https://gist.github.com/julik/1852214
следует то, что юникод - это культурная, а не техническая проблема, связанная с тем, что англоязычным пользователям и так хорошо, а когда мы, жители остального мира, пытаемся использовать их программы, то проблемы возникают у нас. В принципе, правильная колониальная политика - туземцам надо подарить отравленные одеяла.
Исходная версия den73, :
Ну мне пока что из вышесказанного кажется очевидным, что самое полезное здесь - это именно графемные кластеры, а annulen, как мне кажется, просто защищает тот способ, к которому он привык.