Вы не можете определить кодировку в YAML. Но также не нужно , поскольку кодирование выполняется на уровне файлов и является прозрачным для YAML и его анализа. При написании документа YAML это все, что вам нужно запомнить.
На уровне файлов YAML 1.1 поддерживает UTF-8 и UTF-16, но не UTF-32. полные детали спецификации 1.1 таковы:
Все символы [...] являются кодовыми точками Unicode. Каждый такой код
записывается как один или несколько октетов в зависимости от кодировки символов
используемый. Обратите внимание, что в UTF-16 символы выше #xFFFF записываются как четыре
октеты, используя суррогатную пару. Процессор YAML должен поддерживать
Кодировки UTF-16 и UTF-8. Если поток символов не
начинаются с метки порядка байтов (#FEFF), кодировка символов должна быть
UTF-8. В противном случае это должен быть UTF-8, UTF-16 LE или UTF-16 BE, как
обозначено меткой порядка байтов. На выходе рекомендуется
Метка порядка следования байтов должна передаваться только для кодировки символов UTF-16.
Обратите внимание, что кодировка UTF-32 явно не поддерживается.
Для YAML 1.2 поддерживается UTF-32 .