LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

Строк как типов данных не существует. Это просто случайный набор байтов, где размер логического элемента колеблется от кодировки к кодировке и случая к случаю. Если взять конкретную кодировку то да можно сделать тип строка с конкретной кодировкой, и по хорошему получится что для каждой кодировке нужен будет свой тип строк свои функции обработчики кодировок много и указывать их нужно явно, автоматически распознать невозможно. Поэтому строк как типов данных просто не существует. Да в языках есть всякого рода упрощалки жизни которые называют себя строками, но это лишь реализации наиболее популярного ибо кодировка там прибита гвоздями. Это не универсально. Вот если вдруг бабах во всём мире вымрут все кодировки кроме UNICODE и единственным форматом представления станет UTF-8. Попутно отвалятся всякие дебилизмы вроде составных символов. И всё станет однозначно, вот тогда да. Тогда у нас появятся фиксированные по организации внутренней структуры данные, предсказуемые, однозначные, точные. Тогда можно будет на уровне любого языка реализовать работу с такими данными. А сейчас, сейчас тебе в языке со «строками» попадётся файл 15 летней давности и программа со строками ничего с ним сделать не может ибо в душе не чает чего там за месиво байт вместо ЮТФвусемь. :D

Так и живём, просто надеемся что нам попадётся наиболее распространённое ANSI, UTF8 или не паримся и юзаем то что даёт сам язык UTF-16, а потом фигак то кто надеялся на UTF8 получает от тебя файл в UTF16 и приехали снова в туже лужу что и дцать лет назад, перекодировать надо. А ещё сурогаты уууууууууууооооооооооооооо.

Йя так вижу :D

Исходная версия LINUX-ORG-RU, :

Строк как типов данных не существует. Это просто случайный набор байтов, где размер логического элемента колеблется от кодировки к кодировке и случая к случаю. Если взять конкретную кодировку то да можно сделать тип строка с конкретной кодировкой, и по хорошему получится что для каждой кодировке нужен будет свой тип строк свои функции обработчики кодировок много и указывать их нужно явно, автоматически распознать невозможно. Поэтому строк как типов данных просто не существует. Да в языках есть всякого рода упрощалки жизни которые называют себя строками, но это лишь реализации наиболее популярного ибо кодировка там прибита гвоздями. Это не универсально. Вот если вдруг бабах во всём мире вымрут все кодировки кроме UNICODE и единственным форматом представления станет UTF-8. Попутно отвалятся всякие дебилизмы вроде составных символов. И всё станет однозначно, вот тогда да. Тогда у нас появятся фиксированные по организации внутренней структуры данные, предсказуемые, однозначные, точные. Тогда можно будет на уровне любого языка реализовать работу с такими данными. А сейчас, сейчас тебе в языке со «строками» попадётся файл 15 летней давности и программа со строками ничего с ним сделать не может ибо в душе не чает чего там за месиво байт вместо ЮТФвусемь. :D

Так и живём, просто надеемся что нам попадётся наиболее распространённое ANSI, UTF8 или не паримся и юзаем то что даёт сам язык UTF-16, а потом фигак то кто надеялся на UTF8 получает от тебя файл в UTF16 и приехали снова в туже лужу что и дцать лет назад, перекодировать надо. А ещё сурогаты уууууууууууооооооооооооооо.