UTF8 BOM - это зло

Здесь обсуждаются проблемы мироустройства.
Abs
Posts: 32
Joined: Tue 27 Jul, 2010 12:14
Been thanked: 1 time

UTF8 BOM - это зло

Postby Abs » Thu 01 Dec, 2016 12:48

Latest post of the previous page:

SkvorBSD
Если вы считаете BOM описанием формата, информатику вам точно преподавали неадекватно. :)

User avatar
HaRT
Moderator
Posts: 7880
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 62 times
Been thanked: 93 times

UTF8 BOM - это зло

Postby HaRT » Thu 01 Dec, 2016 13:03

SkvorBSD wrote:Source of the post Пусть BOM - это описание семантики китайского и оно помещено в начало книги.
Совершенно некорректная аналогия! BOM — это не описание формата, а лишь идентификация формата среди нескольких родственных (multibyte Unicode). Т.е. описание системы не в терминах самой системы, а в терминах внешней „мета-системы“. Если угодна лингвистическая аналогия, извольте: есть книга на письменности деванагари, но без знания соответствующих языков непонятно, который использован: хинди, непали или, скажем, вообще санскрит. В таком случае BOM — это указание (понятное даже тем, кто не знает тех языков), на каком языке книга.
Фар есть инструмент, а не нянька. © 2009 DrKnS

SkvorBSD
Posts: 7
Joined: Mon 28 Nov, 2016 14:05

UTF8 BOM - это зло

Postby SkvorBSD » Thu 01 Dec, 2016 13:45

HaRT wrote:BOM — это не описание формата, а лишь идентификация формата среди нескольких родственных (multibyte Unicode).
-тут уже надо с терминологией разбираться. Но если BOM является идентификатором варианта, значит это часть формата который обобщает несколько вариантов Unicode. А с учётом факультативности - это точно становится злом.

BOM, практически, используется только при передаче текста между разными платформами. Но разные платформы невозможно соединить без адаптера. Имеем вопрос - почему на адаптер не возлагается перекодировка данных текстовой природы, хотя все остальные данные подвергаются полноценной перекодировке. Возникает бредовая ситуация, когда в адаптере на стадии передачи текста "отключается" перекодировка и данные передаются в raw. А уже конечный пользователь должен "знать" raw-формат источника данных и перекодировать в формат своей платформы.

Итого - BOM бывает нужным редко и только когда кто-то сдуру отключил работу уже существующей функции. Костыль, думаю, растёт от того, что Unicode неразумно упоминает порядок следования байтов и количество битов в байте.
Last edited by SkvorBSD on Fri 02 Dec, 2016 08:17, edited 1 time in total.

User avatar
DrKnS
Posts: 4434
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 101 times
Contact:

UTF8 BOM - это зло

Postby DrKnS » Thu 01 Dec, 2016 19:17

SkvorBSD wrote:Source of the post Описание формата внутри данных в принципе является абсурдом.

Какой прекрасный тред :popcorn:

Ходят слухи, что чуть ли не любой бинарный файл содержит описание формата. Хотелось бы услышать мнение экспертов.
О всяких #!/bin/sh внутри шелл-скриптов тоже можно.

Smitis
Posts: 1427
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 9 times
Been thanked: 21 times
Contact:

UTF8 BOM - это зло

Postby Smitis » Thu 01 Dec, 2016 21:05

SkvorBSD wrote:Но разные платформы невозможно соединить без адаптера. Возникает вопрос - почему на адаптер не возлагается перекодировка данных текстовой природы, хотя все остальные данные подвергаются полноценной перекодировке.
Т.е., Вы утверждаете, что exe-файл, записанный на флешку, после того, как флешка будет вставлена в Мак, чудесным образом перекодируется в формат исполняемого файла Мака? И более того, такие же чудесные превращения должны происходить и с текстовыми файлами, например, меняться байты местами в юникодном тексте?

DrKnS wrote:Ходят слухи, что чуть ли не любой бинарный файл содержит описание формата. Хотелось бы услышать мнение экспертов.
О всяких #!/bin/sh внутри шелл-скриптов тоже можно.
Зло проникло везде :)

Непонятно, что в рамках этой концепции о вреде форматирования делать с отформатированными исходными текстами? Отказаться от отступов?
Last edited by Smitis on Thu 01 Dec, 2016 21:06, edited 1 time in total.
Разум когда-нибудь победит.

SkvorBSD
Posts: 7
Joined: Mon 28 Nov, 2016 14:05

UTF8 BOM - это зло

Postby SkvorBSD » Fri 02 Dec, 2016 08:58

DrKnS wrote:Source of the post

Обсуждение разумности/костыльности шабанга следует вынести в отдельную тему, т.к. не относится к проблематике передачи данных.
Можете озаглавить холивар "Шабанг - очарование скриптового единообразия или синтаксическое извращение языков!?"
И такида, шабанг не переносим без адаптера в COMMAND.COM
Smitis wrote:Source of the post

-Нет. Я утверждаю, что ваши манипуляции с флешкой не являются соединением платформ. Если платформы в некоторых аспектах совпадают, то некоторые объекты будут переносимы, некоторые - окажутся мусором. Но для полноценного соединения различных платформ адаптер необходим. Где будет этот адаптер и какова его форма, уже рояля не играет.

Smitis
Posts: 1427
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 9 times
Been thanked: 21 times
Contact:

UTF8 BOM - это зло

Postby Smitis » Sat 03 Dec, 2016 12:15

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

И, вообще, если уж придираться, то
Описание формата внутри данных в принципе является абсурдом.
в данном случае к BOM никакого отношения не имеет. Смотрите сами - сначала идут байты BOM (в вашей терминологии "формат"), затем собственно текст ("данные"). Всё раздельно. Вот если бы этот BOM был бы "размазан" по тексту, тогда да. А так - нет.
Разум когда-нибудь победит.


Return to “О тщете всего сущего”

Who is online

Users browsing this forum: No registered users and 1 guest