История изменений
Исправление
kirk_johnson,
(текущая версия)
:
Это частный случай. Можно было, конечно, реализовать отдельно утилиту koi8rtoascii и склеивать их скриптом. Но, по сути, спор всего о 2-х (!) строчках кода (они там ещё помечены комментарием). При этом, если скармливать кодировщику только имеющиеся в Radix-50 символы, то условия в тех 2-х строчках выполнены не будут и программа просто пойдёт дальше.
И в этих двух строчках ты умудрился обосраться :D
Можно долго спорить об юниксвее, но, очевидно, что принципы юниксвея заточены на архитектурное упрощение, которое в первую очередь касается громоздких реализаций где уже сложно отслеживать поведение софта.
Это ты сейчас о том, что, в отличии от Encode::RAD50, твоя «программа» никак не документирована и может кодировать невалидные символы в валидные? :D
Вот тебе выдержка из DESCRIPTION, чтобы ты понял, что от твоей «программы» хотят видеть пользователи:
This package is designed to convert to and from the Rad50 character set. It's really a piece of retrocomputing, since this character set was, to the best of my knowledge, only used for the Digital (R.I.P.) PDP-11 computer, under (at least) the RSX-11 (including IAS and P/OS), RT-11, RSTS (-11 and /E) operating systems.
Rad50 is a way to squeeze three characters into two bytes, by restricting the character set to upper-case 7-bit ASCII letters, digits, space, "." and «$». There is also an encoding for what was called «the illegal character.» In the language of the Encode modules this is the substitution character, and its ASCII representation is "?".
When more than three characters are encoded, the first three go in the first two bytes, the second three in the second two, and so on. If you try to encode some number of characters other than a multiple of three, implicit spaces will be added to the right-hand end of the string. These will become explicit when you decode.
Исправление
kirk_johnson,
:
Это частный случай. Можно было, конечно, реализовать отдельно утилиту koi8rtoascii и склеивать их скриптом. Но, по сути, спор всего о 2-х (!) строчках кода (они там ещё помечены комментарием). При этом, если скармливать кодировщику только имеющиеся в Radix-50 символы, то условия в тех 2-х строчках выполнены не будут и программа просто пойдёт дальше.
И в этих двух строчках ты умудрился обосраться :D
Можно долго спорить об юниксвее, но, очевидно, что принципы юниксвея заточены на архитектурное упрощение, которое в первую очередь касается громоздких реализаций где уже сложно отслеживать поведение софта.
Это ты сейчас о том, что, в отличии от Encode::RAD50, твоя «программа» никак не документирована и может кодировать невалидные символы в валидные? :D
Вот тебе выдержка из DESCRIPTION, чтобы ты понял, что от твоей «программы» хотят видеть пользователи:
This package is designed to convert to and from the Rad50 character set. It's really a piece of retrocomputing, since this character set was, to the best of my knowledge, only used for the Digital (R.I.P.) PDP-11 computer, under (at least) the RSX-11 (including IAS and P/OS), RT-11, RSTS (-11 and /E) operating systems.
Rad50 is a way to squeeze three characters into two bytes, by restricting the character set to upper-case 7-bit ASCII letters, digits, space, "." and «$». There is also an encoding for what was called «the illegal character.» In the language of the Encode modules this is the substitution character, and its ASCII representation is "?".
When more than three characters are encoded, the first three go in the first two bytes, the second three in the second two, and so on.
Исправление
kirk_johnson,
:
Это частный случай. Можно было, конечно, реализовать отдельно утилиту koi8rtoascii и склеивать их скриптом. Но, по сути, спор всего о 2-х (!) строчках кода (они там ещё помечены комментарием). При этом, если скармливать кодировщику только имеющиеся в Radix-50 символы, то условия в тех 2-х строчках выполнены не будут и программа просто пойдёт дальше.
И в этих двух строчках ты умудрился обосраться :D
Можно долго спорить об юниксвее, но, очевидно, что принципы юниксвея заточены на архитектурное упрощение, которое в первую очередь касается громоздких реализаций где уже сложно отслеживать поведение софта.
Это ты сейчас о том, что, в отличии от Encode::RAD50, твоя «программа» никак не документирована и может кодировать невалидные символы в валидные? :D
Вот тебе выдержка из Description, чтобы ты понял, что от твоей «программы» хотят видеть пользователи:
This package is designed to convert to and from the Rad50 character set. It's really a piece of retrocomputing, since this character set was, to the best of my knowledge, only used for the Digital (R.I.P.) PDP-11 computer, under (at least) the RSX-11 (including IAS and P/OS), RT-11, RSTS (-11 and /E) operating systems.
Rad50 is a way to squeeze three characters into two bytes, by restricting the character set to upper-case 7-bit ASCII letters, digits, space, "." and «$». There is also an encoding for what was called «the illegal character.» In the language of the Encode modules this is the substitution character, and its ASCII representation is "?".
When more than three characters are encoded, the first three go in the first two bytes, the second three in the second two, and so on.
Исправление
kirk_johnson,
:
Это частный случай. Можно было, конечно, реализовать отдельно утилиту koi8rtoascii и склеивать их скриптом. Но, по сути, спор всего о 2-х (!) строчках кода (они там ещё помечены комментарием). При этом, если скармливать кодировщику только имеющиеся в Radix-50 символы, то условия в тех 2-х строчках выполнены не будут и программа просто пойдёт дальше.
И в этих двух строчках ты умудрился обосраться :D
Можно долго спорить об юниксвее, но, очевидно, что принципы юниксвея заточены на архитектурное упрощение, которое в первую очередь касается громоздких реализаций где уже сложно отслеживать поведение софта.
Это ты сейчас о том, что, в отличии от Encode::RAD50, твоя «программа» никак не документирована и может кодировать невалидные символы в валидные? :D
Исходная версия
kirk_johnson,
:
Это частный случай. Можно было, конечно, реализовать отдельно утилиту koi8rtoascii и склеивать их скриптом. Но, по сути, спор всего о 2-х (!) строчках кода (они там ещё помечены комментарием). При этом, если скармливать кодировщику только имеющиеся в Radix-50 символы, то условия в тех 2-х строчках выполнены не будут и программа просто пойдёт дальше.
И в этих двух строчках ты умудрился обосраться :D
Можно долго спорить об юниксвее, но, очевидно, что принципы юниксвея заточены на архитектурное упрощение, которое в первую очередь касается громоздких реализаций где уже сложно отслеживать поведение софта.
Это ты сейчас о том что, в отличии от Encode::RAD50, твоя «программа» никак не документирована и может кодировать невалидные символы в валидные? :D