Skip to content
Novus Examples
yaml719 B

YAML Non-ASCII Keys and Values

Non-ASCII keys and values across Latin, Cyrillic, Arabic, CJK and emoji, plus a key containing a zero-width space and a value distinguishing a combining acute from the precomposed character. Written as UTF-8 with no BOM.

Preview — first 25 linesyaml
# Non-ASCII keys and values, written as UTF-8 with no BOM. Keys are not required to be ASCII,
# and a parser that assumes they are will mangle or drop them. The zero-width space is written
# as a double-quoted escape so the byte sequence is unambiguous in the source.
"日本語": ビルド
"ключ": значение
"مفتاح": قيمة
"clé-accentuée": valeur
"Grüße": "Straße"
"emoji-🚀": launch
"zero-width​space": present
"combining-é": "e with a combining acute, not U+00E9"
naive_plain_key: café

nested:
  日本語:
    ステージ: ビルド
    順序: 1

list:
  - 東京
  - Ísafjörður
  - Kraków

mixed_script_value: "Latin, Кириллица, 漢字, العربية in one scalar"

Specifications

Encoding
UTF-8, no BOM
Scripts
Latin, Cyrillic, Arabic, CJK, emoji
Non Ascii Keys
9
Has Zero Width Space
true
Has Combining Mark
true

Testing contract

Expected to pass
Scenario
Load YAML whose mapping keys are non-ASCII, including a zero-width space and a combining mark
Expected result
All nine non-ASCII keys round-trip byte-identically, and the combining-mark value is not silently normalised to its precomposed form

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“YAML Non-ASCII Keys and Values” is a deterministic Novus Examples fixture for Config parsing, Encoding detection, Editor testing. TOML and INI configuration files with nested sections and typed values — for testing config parsers and loaders.

Documented properties for this file: UTF-8, no BOM. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import yaml  # pip install pyyaml

with open("unicode-keys.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/pipelines.py. Free for any use, no attribution required — license.