LINUX.ORG.RU
ФорумTalks

В июле этого года исполняется 26 лет стандарту KOI8-R

 


1

2

Сабж. Именно 26 лет назад, в июле 1993-его года, был создан RFC 1489.
За принятие RFC 1489 выступала Society of Unix User Groups (SUUG), поскольку кодировка KOI8-R уже была де-факто стандартом мира Unix на территории бывшего СССР.
Юникод уже существовал и RFC 1489 описывает соответствие кодов символов кодам уже принятого юникодного стандарта ISO 10646 для тех, кому юникод избыточен.

Стандарт KOI8-R до RFC 1489 никогда не публиковался, но основан на нескольких опубликованных стандартах: ГОСТ 19768-74 (старый КОИ8), ISO 6937/8 (не зарегистрирован) и вариациях - INIS-cyrillic и ISO 5427.

* * *

Ура! Поздравляю KOI8-R'щиков с очередным днём рождения стандарта самой лучшей кодировки!

★★★★★
Ответ на: комментарий от Eddy_Em

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

Просто замечательно. Человек, ругающий, utf-8 за переменное количество байт на букву, хочет ввести буквы переменной длины.

German_1984 ★★
()
Ответ на: комментарий от German_1984

Ты не путай букву и звук. Зачем-то у нас есть буквы, которые соответствуют двум звукам. Хорошо хоть, пси и кси выкинули из алфавита!!!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от kirk_johnson

Это фиксится стремительными темпами. Меньше века назад надо было в соседний город со своей коровой переться, сейчас авиабилеты стали выравниваться с зарплатой за день, а через пару-тройку поколений вообще не предсказать, что будет. Но фактору географической изоляции точно конец.

t184256 ★★★★★
()
Ответ на: комментарий от Eddy_Em

Зачем-то у нас есть буквы, которые соответствуют двум звукам.

У нас, представ себе, ест даже буквы, которые не соответствуют звукам вообще. Зачем?

dexpl ★★★★★
()
Ответ на: комментарий от t184256

Какой конец, о чем ты? 86% населения рашки без заграна сидит. Индусы и китайцы по большей части тоже. Слой путешественников ни на что не влияет, потому что они прыгают три недели и обратно.

kirk_johnson ★☆
()
Ответ на: комментарий от kirk_johnson

Век назад 90% дальше своей деревни не бывали.

Сегодня 90% (населения специально выбранной отсталой страны) сидят в своей стране.

Последовательность понятна?

Слой туристов я не считаю, но и не эмигрантами едиными стираются языковые барьеры. Дофига умных людей родились в одном месте, живут и работают в нормальном, но делать науку и бизнес им уже надо на дефолтном языке. И на чем они там лопочут с предками становится все менее и менее важно.

t184256 ★★★★★
()
Ответ на: комментарий от praseodim

нечитаемые кракозябры и даже полная потеря текста

1. Это не проблема
2. И без KOI-8 постоянно сталкиваюсь.
А проблема KOI-8 - эзотерический подход к сортировке.

Shadow ★★★★★
()
Ответ на: комментарий от Eddy_Em

Нет, я из России свалил.

И там, посреди Сибири, мне казалось, что 10000 рублей - это разве что лоукостер в столицу. Потребовалось слетать из Праги в Осло за 3000, чтобы что-то заподозрить и переехать, чтобы осознать, что бывает ещё на порядок дешевле.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Не вижу развития цепочки к «языки скоро отвалятся, останется только один». Во-первых, переход деревня-город на языке не особо сказывается. Русский был и русский остался. Ну и про дальше деревне носа не совали ты тоже загнул. Во-вторых, наука всегда была моноязычной. Это, правда, не мешало (и не мешает китайцам с японцами) использовать родные языки.

kirk_johnson ★☆
()
Ответ на: комментарий от kirk_johnson

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

Никто не мешает тебе использовать родной язык. Но создаётся с каждым веком все больше ситуаций и сценариев, когда это глупо и так не делают.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Никто не мешает тебе использовать родной язык. Но создаётся с каждым веком все больше ситуаций и сценариев, когда это глупо и так не делают.

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

Grzegorz
()
Ответ на: комментарий от Deleted

Веганы от кодировок, какие-то. Вот и сидите у себя на сайте и пишите в кои-8. Чего к людям пристаёте?

бНОПНЯ ВХРЮК?

Grzegorz
()
Ответ на: комментарий от Grzegorz

яЕПЦЕЕБ

А за такое в приличном обществе можно получить по лицу!

Deleted
()
Ответ на: комментарий от kirk_johnson

Да, кому нужен utf16.

У большинства людей фоточки с котятами и киношки с порнушкой называются в UTF-16. Ибо лежат на NTFS.

Grzegorz
()

saahriktu, а почему ты выбросил абзац

Через некоторое время (в мае 1999-го) и в glibc (версии 2.1.1) поддержка локали KOI8-R была добавлена не отдельной самодостаточной подсистемой, на поддержку которой нужны дополнительные силы и время, а как подмножество юникода (поддержка которого была добавлена только в glibc 2.0.1 (февраль 1997-го)).

который был в прошлогодних летописях?

Grzegorz
()
Ответ на: комментарий от Grzegorz

У большинства людей фоточки с котятами и киношки с порнушкой называются в UTF-16. Ибо лежат на NTFS.

Это внутренние заморочки NTFS.

kirk_johnson ★☆
()
Ответ на: комментарий от Grzegorz

Я что-то написал про насильную унификацию?

t184256 ★★★★★
()
Ответ на: комментарий от Grzegorz

Для уменьшения текста новости.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Grzegorz

но ведь не идут

Но это не проблема. Достаточно добавить массив с данными о нужном порядке букв и использовать эти данные для сортировки.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Shaman007

Замечу, что ты все стесняешься ответить, какую же полезную человечеству функцию твои «сервера» выполняют.

У меня нет серверов. У меня есть сайт. Основное назначение которого - файлохранилище тарболов с исходниками моего софта. Чтобы их качали все, кому они нужны.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Не в этом вопросе. Ты пишешь говнокод, например, не проверяешь пользовательский ввод и твоя «программа» сегфолтится. Не говоря уже о том, что сложность «программ» примерно уровня учебника для школьников.

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

Нет, мой софт сегфолтится только или в кривых руках или в кривой среде (а я помню прецедент с поломанной локалью, где переменная окружения $LC_ALL была пуста; в то время как по манам именна она используется для setlocale()). Я очень даже проверяю пользовательский ввод, но до определённого предела. Я пишу не для ламеров, которые вместо чисел загоняют буквы и тому подобное. В подобных случаях, я считаю, пользователь сам виноват. Пользователь, а не софт. Это один из элементов философии разработки софта, да. Другим элементом является Unixway. Одна софтина - одна задача. В этом случае софт и не обязан быть тяжёлым и громоздким. Тяжелы и громоздки всякие комбайны, из-за которых пользователям всё время не хватает планок оперативки и мощностей процессоров. И с этой точки зрения говнокодом как раз таки являются эти комбайны, а софтины в десятки, сотни и единицы тысяч строк - самые торты.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

Читал тут этот тред и наткнулся на код в сообщении:

/**
 * @brief cmpstr - the same as strncmp
 * @param s1,s2 - strings to compare
 * @param n - max symbols amount
 * @return 0 if strings equal or 1/-1
 */
int cmpstr(const char *s1, const char *s2, int n){
    int ret = 0;
    do{
        ret = *s1 - *s2;
    }while(*s1++ && *s2++ && --n);
    return ret;
}
Ведь эта функция работает совсем не так, как strncmp, а просто сравнивает строки по длине. Для разных строк одной длины она вернёт 0. Или я чего-то не понимаю?

root22
()
Ответ на: комментарий от root22

совсем не так, как strncmp, а просто сравнивает строки по длине.

Посмотри код еще раз! Она делает именно то, что делает strcmp!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Написал тестовую программку:

#include <stdio.h>
/**
 * @brief cmpstr - the same as strncmp
 * @param s1,s2 - strings to compare
 * @param n - max symbols amount
 * @return 0 if strings equal or 1/-1
 */
int cmpstr(const char *s1, const char *s2, int n){
    int ret = 0;
    do{
        ret = *s1 - *s2;
    }while(*s1++ && *s2++ && --n);
    return ret;
}

int main(int argc, char *argv[])
{
    if (argc != 3) {
        fputs("Need two strings\n", stderr);
        return 1;
    }
    printf("%d\n", cmpstr(argv[1], argv[2], 256));   
    return 0;
}

Если на вход подавать например строки test abcd, то она печатает 0.

root22
()
Ответ на: комментарий от root22

Аналогичная программа с strncmp вместо cmpstr печатает 19. В твоей программе ret вычисляется по последнему символу строк, а там всегда 0.

root22
()
Ответ на: комментарий от saahriktu

ламеров, которые вместо чисел загоняют буквы и тому подобное

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

KivApple ★★★★★
()
Ответ на: комментарий от root22

Я - конь! Вместо прекрасного инкремента постфиксный написал!!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от saahriktu

Чтобы их качали все, кому они нужны

Зачем ты называешь себя всеми?

Deleted
()
Ответ на: комментарий от saahriktu

В подобных случаях, я считаю, пользователь сам виноват

Типичный говнокодеришко))

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.