metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-06-27 09:53 am

Мучающий меня 10 лет вопрос

Люди, а скажите мне - через | (пайп) БИНАРНЫЕ данные проходят?
Особо интересует - на линуксе и на винде. Про первое я знаю, что проходят, т.к. arecord | aplay работает, а вот про второе уже 10 лет мучаюсь, но никак руки не дойдут проверить :)

[identity profile] trueblacker.livejournal.com 2012-06-27 02:02 pm (UTC)(link)
это вы, а не я путаете уровни. Вы рассуждаете о современной проблематике, а я вам говорю о решении, которое было выработано в гораздо более тепличных условиях и которое опиралось на то, что "кому потребуется передавать такие странные значения?".

Да, если ставить задачу разработки протокола, позволяющего передавать ЛЮБЫЕ байты, нужно изобретать ухищрения вроде "канал данных/канал контроля", "канальный/транспортный/физический уровень", "протокол с ескейпингом" и пр.

Если же говорить о передаче "обычного текста" (т.е. весьма ограниченного подмножества ASCII), которая в своё время составляла, подозреваю, более 83% всех передач, задача решается на порядок проще - введением управляющих символов.

[personal profile] ex0_planet 2012-06-27 02:23 pm (UTC)(link)
В общем, телефонисты (точнее телеграфисты) как всегда во всем виноваты. У них цеховая традиция - делать решения феерической кривожопости, с которыми остальным сорок лет приходится как-то мириться.

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

Эскейпинг в данном случае делается проще некуда: один, условно говоря, "компаратор" и один триггер, который даже механически реализовать не проблема. Зато потом не нужно было бы изобретать ANSI-эскейпинг, кодировки, line discipline и прочую хрень...

[identity profile] trueblacker.livejournal.com 2012-06-27 02:35 pm (UTC)(link)
>Просто кем-то когда-то было принято решение о том, что ничего кроме латинских букв и цифр никому никогда передавать не потребуется

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

То, что информационная эра вносит в традиции свои правки было осознанно позже.

[personal profile] ex0_planet 2012-06-27 03:55 pm (UTC)(link)
Как бе о том, что текст - это не просто последовательность буков было известно сильно заранее. Просто в то, чем можно было пользоваться исключительно для телеграфа, попытались запихнуть элементы верстки, управления линком и черт знает что еще, вместо того чтобы сесть и сделать по нормальному.

Подозреваю, кстати, что там тоже участвовали адепты мифической "обратной совместимости на бинарном уровне".