{
  "version": "1.0.0",
  "accessedAt": "2026-10-15",
  "disclosure": "Produced by the site owner. External sources explain standards or formulas; they do not endorse this site or validate its original results.",
  "sources": [
    {
      "id": "w3c",
      "title": "Character encodings for beginners",
      "url": "https://www.w3.org/International/questions/qa-what-is-encoding",
      "role": "Characters, code points and encoded bytes are distinct."
    },
    {
      "id": "python",
      "title": "Python Unicode HOWTO",
      "url": "https://docs.python.org/3/howto/unicode.html",
      "role": "Unicode encoding and normalization background."
    },
    {
      "id": "mdn",
      "title": "MDN TextDecoder",
      "url": "https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder",
      "role": "Decoder API, fatal mode and ignoreBOM; links to WHATWG specifications."
    },
    {
      "id": "unicode",
      "title": "Unicode Normalization Forms",
      "url": "https://www.unicode.org/reports/tr15/",
      "role": "Canonical normalization forms; not a promise of visual identity in every font."
    },
    {
      "id": "whatwg",
      "title": "WHATWG Encoding Standard",
      "url": "https://encoding.spec.whatwg.org/#interface-textdecoder",
      "role": "Normative TextDecoder serialization and initial BOM handling."
    },
    {
      "id": "bom",
      "title": "Unicode UTF and BOM FAQ",
      "url": "https://www.unicode.org/faq/utf_bom.html",
      "role": "A BOM can change byte equality without changing displayed content."
    }
  ]
}
