YamlBox

Часто задаваемые вопросы

Вопросы о YamlBox

Все о том, как работает сайт, а также подробные вопросы и ответы по каждому отдельному инструменту.

Общий

Кто создает и управляет YamlBox?

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

Как заработать, если все бесплатно и ничего не отслеживается?

Сайт намеренно дешев в эксплуатации: статический HTML-код обслуживается с периферии Cloudflare, без затрат на сервер за конверсию, поскольку конверсии происходят в вашем браузере. Любая будущая монетизация будет видимой и ненавязчивой — данные никогда не будут продаваться, чего мы не смогли бы сделать, даже если бы захотели.

Могу ли я использовать эти инструменты на работе с закрытыми данными?

That is the design goal. Ничего из того, что вы вставляете, не передается, не сохраняется и не регистрируется, поэтому обычный вопрос: «Могу ли я вставить это на веб-сайт?» вопрос имеет чистый ответ. В любом случае проверьте свою собственную политику — некоторым организациям требуются локальные инструменты независимо от архитектуры.

Работают ли инструменты в автономном режиме?

Да, после первого посещения. Страницы статичны и кэшируются вашим браузером; код преобразования выполняется локально. Режим полета — отличная проверка требований конфиденциальности.

Есть ли API или CLI?

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

Я нашел ошибку или отсутствующий инструмент. How do I report it?

Отправьте электронное письмо hello@yamlbox.com с вводом, который сломал его — минимальный пример — золото. Предложения по отсутствующим инструментам также приветствуются; несколько инструментов на этом сайте начинались как запросы.

Вопросы по конкретному инструменту

Сгруппировано по инструменту — перейдите на полную страницу для рабочих примеров.

от YAML до JSON → открыть инструмент

Мой YAML загружен на сервер?

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

Как обрабатываются многодокументные файлы YAML?

Документы, разделенные ---, анализируются индивидуально и объединяются в массив JSON, по одному объекту на документ. Если вам нужен только первый документ, переключите параметр нескольких документов на «Только первый документ».

Поддерживает ли он файлы Kubernetes и файлы docker-compose?

Да. Работает любая допустимая версия YAML 1.2: манифесты Kubernetes, docker-compose.yml, конвейеры GitHub Actions и GitLab CI, книги воспроизведения Ansible, спецификации OpenAPI и файлы значений Helm. Привязки и псевдонимы, используемые шаблонами Helm, преобразуются в их окончательные значения.

Почему мой YAML не удалось проанализировать?

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

Что происходит с YAML комментариями?

Комментарии не существуют в JSON, поэтому они удаляются. Если вам нужно их сохранить, сохраните YAML как источник истины и относитесь к JSON как к артефакту сборки.

Могу ли я конвертировать очень большие файлы?

Файлы размером до нескольких мегабайт конвертируются за миллисекунды. Чрезвычайно большие файлы (десятки мегабайт) зависят от памяти вашего устройства; браузер на рабочем столе легко обрабатывает их, а телефон — нет.

от JSON до YAML → открыть инструмент

Почему мое значение «1,10» становится 1,1 в YAML?

Потому что это было число в источнике JSON, а YAML отображает числа канонически. Если значение семантически является версией или идентификатором, включите «Принудительные кавычки», чтобы оно оставалось строкой в ​​YAML.

Безопасны ли клавиши JSON с точками или тире?

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

Могу ли я преобразовать большой файл JSON в YAML?

Да — вставьте его, перетащите файл на панель ввода или используйте кнопку «Файл». Документы размером в несколько мегабайт прекрасно подходят для настольного браузера; само преобразование занимает миллисекунды.

Сохраняет ли вывод порядок ключей?

По умолчанию да — ключи сохраняют свой порядок JSON. Включите «Ключи сортировки», если вам нужен детерминированный файл в алфавитном порядке, который создает чистые различия в системе контроля версий.

JSON Форматер → открыть инструмент

Что означает «Неожиданный токен»?

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

Он проверяет JSON или просто форматирует его?

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

Насколько большой файл он может обработать?

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

Могу ли я отсортировать клавиши JSON в алфавитном порядке?

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

Мой JSON куда-нибудь отправлен?

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

JSON Разница → открыть инструмент

Чем это отличается от текстового различия?

Текстовый diff сравнивает строки, поэтому переформатирование или изменение порядка ключей создает шум. Этот инструмент анализирует оба документа и сравнивает значения по пути, поэтому сообщает только о реальных семантических изменениях.

Обнаруживает ли он измененные элементы массива?

Да — массивы сравниваются поэлементно. Элемент, который существует в одном документе, но отсутствует в другом, сообщается как добавленный или удаленный по индексированному пути, например $.users[2].

Может ли он сравнить JSON с другим порядком ключей?

Да. Порядок ключей не имеет значения, поскольку сначала анализируются оба документа. {"a":1,"b":2} и {"b":2,"a":1} сравниваются как идентичные.

Могу ли я также сравнить файлы YAML?

Сначала преобразуйте их с помощью конвертера YAML в JSON на другой вкладке, а затем вставьте сюда оба вывода JSON. Поскольку разница является структурной, первое преобразование YAML в JSON не влияет на результат.

Схема от JSON до JSON → открыть инструмент

Насколько точна выведенная схема JSON?

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

Как обрабатываются массивы с элементами различной формы?

Схемы элементов объединяются: свойства, присутствующие в каждом элементе, становятся обязательными, а свойства, присутствующие только в некоторых элементах, остаются необязательными. Различия типов создают объединение, например type: ["строка", "число"].

Что выбрать: драфт-07 или 2020-12?

Выберите черновик-07, если вашим валидатором является AJV 6/7, старые редакторы или что-то еще, что не обновлялось в последнее время — он имеет самую широкую поддержку и соответствует ожиданиям большинства инструментов OpenAPI 3.0. Выберите 2020-12 год для новых проектов и AJV 8.

Где я могу использовать сгенерированную схему?

AJV и другие валидаторы для проверок во время выполнения, VS Code для автозаполнения и проверки файлов JSON, спецификации OpenAPI для документирования ответов API и конвейеры CI для сбоя сборки, когда ответ отклоняется от контракта.

от JSON до TypeScript → открыть инструмент

Как обнаруживаются необязательные поля?

Когда входные данные представляют собой массив объектов, каждое свойство проверяется для каждого элемента. Ключ, отсутствующий в некоторых элементах, помечается необязательным знаком ?, а ключи, присутствующие повсюду, остаются обязательными.

Как поля, допускающие значение NULL, становятся типами?

Значение NULL рассматривается как отдельный тип, поэтому поле, которое иногда является строкой, а иногда и имеет значение NULL, является типизированным string | null — честный тип, а не ложь, которой доверяет ваш компилятор.

Интерфейсы или псевдонимы типов — что выбрать?

Интерфейсы являются более распространенным соглашением и хорошо объединяются в объявлениях; Псевдонимы типов лучше читаются для объединений и пересечений. Функционально для сгенерированных форм данных работает любой вариант — соответствует существующей кодовой базе.

Может ли он генерировать Zod или другие схемы времени выполнения?

Не напрямую. Создайте схему JSON из той же полезной нагрузки и получите валидатор или напишите схему Zod вручную и используйте эти интерфейсы для статической стороны. Типы описывают форму во время компиляции; валидаторы защищают вас во время выполнения.

Работает ли это для больших ответов API?

Да. Вставьте или удалите файл JSON — вложенность определяется рекурсивно. Очень большие полезные нагрузки ограничиваются памятью браузера, а не самим генератором.

JSON до конца → открыть инструмент

Почему некоторые поля становятся указателями?

Значение null 00 не может быть сохранено в простой строке или int, поэтому поле, допускающее значение NULL, получает указатель (*string, *int). Это позволяет кодированию/json без ошибок различать «отсутствует» и «присутствует, но имеет значение null», а именно для этого и нужны типы указателей.

Что происходит, когда поле имеет смешанные типы?

Если значение представляет собой строку в одном элементе и число в другом, генератор использует любой, а не изобретает неправильный конкретный тип. Затем вы можете выбрать собственный UnmarshalJSON, если API действительно настолько свободен.

Включают ли сгенерированные теги пропуски?

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

Совместим ли вывод с gofmt?

Да — табуляции, выравнивание и порядок полей соответствуют соглашениям правительства. Запустите gofmt -l после вставки, и он не должен сообщать об изменениях.

Могу ли я создавать структуры для больших ответов?

Да. Вложенные объекты становятся отдельными именованными структурами, а циклическое переключение невозможно в анализируемом JSON, поэтому даже глубоко вложенные полезные данные генерируют плоский, читаемый набор типов.

от JSON до SQL → открыть инструмент

Как выбираются типы столбцов?

Каждый столбец сканируется по всем строкам. Все целые числа становятся INTEGER/INT, любые десятичные числа становятся NUMERIC/DOUBLE, логические значения становятся BOOLEAN, строки, выглядящие как JSON, становятся TIMESTAMPTZ, а вложенные объекты или массивы становятся JSONB/JSON/TEXT в зависимости от диалекта.

Безопасно ли запускать сгенерированный SQL?

Это простой сценарий с правильно экранированными строковыми литералами, поэтому его можно использовать в качестве отправной точки. Просмотрите его перед запуском в производство: вам могут понадобиться первичные ключи, индексы, ограничения NOT NULL и внешние ключи, которые генератор не может вывести.

А как насчет вложенных объектов?

Они становятся одним столбцом JSON/JSONB/TEXT, содержащим вложенное значение. Реляционное моделирование вложенных структур — это дизайнерское решение, поэтому генератор не угадывает соединения за вас.

Какой диалект мне выбрать?

PostgreSQL, если вам нужны JSONB и TIMESTAMPTZ, MySQL для столбцов JSON с ДВОЙНЫМИ числами, SQLite для файловых баз данных и тестов. Структура скрипта идентична; изменяются только имена типов и логические литералы.

от CSV до JSON → открыть инструмент

Почему «007» должно оставаться строкой?

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

Как обрабатываются поля в кавычках, содержащие запятые?

Правильно — парсер следует RFC 4180, поэтому «Хоппер, доктор философии» — это одно поле, а не два. Встроенные двойные кавычки не экранируются, а значения в многострочных кавычках сохраняются.

Могу ли я преобразовать европейский символ CSV, разделенный точкой с запятой?

Да. Разделители автоматически определяются с первой строки, и вы можете явно изменить их выбор на панели параметров.

Для чего нужен вывод JSON строк?

JSON Строки (один JSON объект в строке) — это формат, который ожидает большинство инструментов обработки данных, обработчиков журналов и конвейеров LLM. Кроме того, потоковая передача лучше: каждая строка может обрабатываться независимо.

Есть ли ограничение на количество строк?

Никаких искусственных ограничений — очень большие файлы ограничены только памятью вашего браузера. 50 МБ CSV легко конвертируется на обычном ноутбуке.

от JSON до CSV → открыть инструмент

Что происходит с вложенными объектами?

Они сведены с помощью точечной записи, поэтому {"customer":{"name":"Ada"}} становится столбцом customer.name. Вложенные массивы не могут быть осмысленно сглажены и сериализуются как JSON внутри ячейки.

Почему в некоторых строках больше столбцов?

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

Может ли Excel открыть файл напрямую?

Да. Вывод — стандарт RFC 4180 CSV с кодировкой UTF-8. В Excel используйте «Данные» → «Из текста/CSV», если двойной щелчок приводит к изменению кодировки в более старых версиях.

Могу ли я преобразовать JSON строк в CSV?

Да — каждая строка анализируется как одна запись, поэтому входные данные JSONL создают ту же таблицу, что и эквивалентный массив JSON.

от XML до JSON → открыть инструмент

Почему атрибуты начинаются с @?

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

Как обрабатываются повторяющиеся элементы?

Когда один и тот же тег встречается более одного раза среди одноуровневых элементов, значения становятся массивом JSON. Единственное вхождение остается скаляром или объектом — вот почему потребители должны терпеть и то, и другое, или почему вам следует нормализовать свой код.

Поддерживает ли он пространства имен?

Да. Элементы в пространстве имен сохраняют свои локальные имена, а коллизии префиксов сохраняются так, как написано в исходном коде. Если вам нужна полная точность пространства имен, сохраните исходный XML рядом с JSON.

Может ли он конвертировать ответы SOAP?

Да — конверт и тело конвертируются, как и любой другой XML. Для SOAP оставьте включенным приведение типов, чтобы числовые поля отображались в виде чисел, а не строк.

Excel в JSON → открыть инструмент

Загружена ли моя таблица на сервер?

Нет. Файл .xlsx анализируется с помощью JavaScript на вкладке вашего браузера с помощью встроенной программы чтения. Он никогда не покидает ваше устройство, что делает его безопасным для данных сотрудников отдела кадров, финансов и клиентов.

Какие форматы Excel поддерживаются?

.xlsx (Excel 2007 и более поздние версии) и .csv. Устаревший двоичный формат .xls не поддерживается — откройте его в Excel и сначала сохраните как .xlsx или .csv.

Как обрабатываются формулы?

Используются кэшированные значения, хранящиеся в Excel. Если файл был сохранен с формулами, но без кэшированных результатов (редко, но возможно), эти ячейки могут оказаться пустыми. Повторное сохранение в Excel обновляет кеш.

Что происходит с датами?

Excel хранит даты в виде серийных номеров; читатель преобразует их в даты JavaScript и генерирует строки ISO, поэтому «2025-03-14» поступает в виде текста, а не 45730.

от SRT до VTT → открыть инструмент

Почему для HTML5-видео нужен WebVTT вместо SRT?

Элемент <track> и каждый крупный браузерный проигрыватель реализуют спецификацию WebVTT. SRT — это устаревший формат инструментов вещания. Игроки, которые его принимают, обычно конвертируют внутри себя, но несовершенно.

Загружены ли мои субтитры?

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

Что происходит с номерами сигналов SRT?

WebVTT не требует их и является необязательным. По умолчанию сигналы перенумеровываются последовательно; нумерацию можно полностью отключить.

Сохраняет ли он теги, выделенные жирным шрифтом и курсивом?

Да — теги SRT <b>/<i>/<u> являются действительными WebVTT и сохраняются. Переопределения позиционирования в стиле {an8}, специфичные для SRT, удалены, поскольку WebVTT выражает позиционирование по-другому.

Может ли он исправить некорректные файлы субтитров?

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

JWT Декодер → открыть инструмент

Безопасно ли вставлять JWT на веб-сайт?

С этим инструментом да, для самого токена — декодирование осуществляется на чистом JavaScript в вашем браузере, и ничего никуда не отправляется. Но в любом случае относитесь к токенам как к секретам: JWT — это учетные данные на предъявителя, действительные для тех, кто владеет ими, до истечения срока их действия. Для производственных токенов предпочтительнее декодировать локально в собственном отладчике.

Подтверждает ли это подпись?

Нет, и ни один декодер не сделает этого без вашего секретного или открытого ключа. Декодирование только base64url-декодирует сегменты. Для проверки требуется ключ подписи, и она принадлежит вашей серверной части или библиотеке, такой как jose или jsonwebtoken.

Почему мой токен отклонен, хотя декодирование работает?

Обычными причинами являются: утверждение exp прошло, токен был выпущен для другой аудитории (audit) или эмитента (iss), часы сервера отличаются настолько, что переносят nbf в будущее, или ключ подписи был поменян. Комиссия по претензиям отвечает на первые три вопроса мгновенно.

Что означают iat, exp и nbf?

iat выдается, exp — время истечения срока действия, а nbf — не раньше. Все три — это временные метки Unix в секундах. Токен действителен, когда nbf ≤ now < exp (когда эти утверждения присутствуют).

Могу ли я редактировать токен для проверки проверок ролей?

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

Конвертер временных меток → открыть инструмент

Как отличить секунды от миллисекунд?

По величине: секунды эпохи сегодня составляют 10 цифр (1735689600), миллисекунды 13 (1735689600000). Конвертер применяет это правило, а также учитывает явные десятичные дроби — 1735689600,5 рассматривается как секунды с дробной частью.

В чем разница между UTC и локальным выводом?

Оба описывают одно и то же мгновение. UTC не зависит от часового пояса — всегда безопасно для хранения и журналов. Local показывает, что показывают часы вашего устройства, используя часовой пояс браузера, который воспринимает пользователь.

Почему мои временные метки смещаются по часам?

Почти всегда это ошибка часового пояса, а не ошибка временной метки: значение, созданное с помощью анализатора местного времени, но читаемое как UTC (или наоборот). Сравните здесь строки UTC и локальные строки — если они отличаются по смещению UTC, это и есть причина.

Могу ли я конвертировать даты до 1970 года?

Да. Отрицательные временные метки Unix действительны и представляют собой даты, предшествующие эпохе; конвертер обрабатывает их, а также анализирует строки исторических дат.

А что насчет Y2038?

Переполнение 32-битного целого числа со знаком в 03:14:07 UTC 19 января 2038 года затрагивает старые системы, хранящие временные метки как int32. В JavaScript этот инструмент не затрагивается — и текущая практика 64-битного или миллисекундного хранения не подпадает под действие этого инструмента.

URL Кодер/декодер → открыть инструмент

encodeURI против encodeURIComponent — что мне нужно?

Используйте encodeURIComponent для значения, которое вы помещаете внутри параметра запроса (?q=…): оно экранирует символы &, =, ?, / и #, поэтому значение не может нарушить структуру URL. Используйте encodeURI для полного URL, который вы хотите сохранить без изменений, при этом остаются :, / и ? один.

Почему пробел становится %20 или +?

В пути или фрагменте пространство должно составлять %20. В данных application/x-www-form-urlencoded — теле классической HTML-формы — пробел равен +. Анализатор запросов здесь рассматривает + как пробел, что является правильным поведением для строк, закодированных в форме.

Почему мой URL закодирован дважды?

Потому что оно было закодировано дважды — часто фреймворк кодировал уже закодированное значение. Раскодируйте один раз здесь; если результат все еще содержит %-последовательности, декодируйте еще раз, а затем исправьте конвейер, чтобы он кодировал ровно один раз.

Обрабатывает ли он нелатинские символы?

Да. Текст кодируется как байты UTF-8, а затем экранируется в процентах, поэтому японский, арабский, кириллический и эмодзи создают правильные, совместимые URL-адреса.

Base64 Кодер/декодер → открыть инструмент

Является ли Base64 шифрованием?

Нет. Base64 — это кодировка, а не шифрование: он не имеет ключа и не обеспечивает нулевую конфиденциальность. Считайте данные, закодированные в формате Base64, как открытый текст, который выглядит просто зашифрованным. Используйте шифрование (TLS, AES, возраст), когда необходима секретность.

Почему Base64 иногда URL безопасно с использованием - и _?

Стандартный Base64 использует + и /, что проблематично внутри URL-адресов и идентификаторов. Вариант URL-безопасный (RFC 4648 §5) заменяет - и _ и часто опускает заполнение =, поэтому значение сохраняется при помещении в строку запроса или имя файла.

Как декодировать Base64 в файл или изображение?

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

Почему моя строка Base64 заканчивается на = или ==?

Прокладка. Base64 кодирует 3 байта в 4 символа; когда входная длина не кратна трем, кодирование дополняется знаком =, чтобы блок оставался полным. Заполнение часто является необязательным и удаляется при URLбезопасном использовании.

cURL для получения → открыть инструмент

Готов ли сгенерированный код выборки к производству?

Трансляция запроса точная — метод, URL, заголовки и тело соответствуют тому, что отправит Curl. Что следует добавить перед отправкой: обработку ошибок (проверьте ответ.ok), таймауты с помощью AbortController и логику повтора для идемпотентных вызовов.

Куда делся мой флаг -k / --insecure?

Это отмечено в комментарии, а не переведено, поскольку выборка узла проверяет TLS по умолчанию, и отключение этого в коде является решением безопасности. Вместо этого исправьте сертификат; если вам это действительно нужно, установите NODE_TLS_REJECT_UNAUTHORIZED=0 только в одноразовой среде.

Как обрабатывается базовая аутентификация?

-u user:pass становится заголовком Authorization: Basic с учетными данными, закодированными Base64, что именно и отправляет Curl. Предпочитайте токены базовой аутентификации, если API поддерживает ее.

Может ли он обрабатывать --compressed и перенаправления?

Сжатие прозрачно при выборке, поэтому --compressed не требует кода. Перенаправления следуют по умолчанию при выборке, сопоставляя завиток с -L; если вам нужна обработка перенаправления вручную, установите redirect: «manual».

Почему моя команда curl не может быть проанализирована?

Большинство ошибок происходит из-за неэкранированных кавычек в сложных строках оболочки или флагов, которые синтаксический анализатор не распознает. Ошибка называет токен, который она задушила — обычно быстрее исправить команду, чем гадать.

Markdown Генератор таблиц → открыть инструмент

Зачем выравнивать таблицу вместо использования минимального Markdown?

Потому что файлы README читаются в необработанном виде не реже, чем в отрисованном виде — в редакторах, диффах и терминалах. Дополненные столбцы делают исходный код читабельным, а средства визуализации Markdown игнорируют лишние пробелы.

Могу ли я преобразовать таблицу Markdown обратно в таблицу CSV?

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

Выходит ли он из трубок внутри клеток?

Да, с обратной косой чертой (\|), которая является стандартным escape-кодом GitHub со вкусом Markdown. Без него канал в значении автоматически разделил бы строку на дополнительные столбцы.

На каких платформах работает вывод?

GitHub, GitLab, Bitbucket, Obsidian, Notion (через вставку), Jira, большинство генераторов статических сайтов и любой модуль рендеринга CommonMark с поддержкой таблиц. GitHub Ароматизированный Markdown является здесь стандартом де-факто.