IANA Charset Registration Procedures
RFC 2978

Document Type RFC - Best Current Practice (October 2000; Errata)
Obsoletes RFC 2278
Also known as BCP 19
Authors Jon Postel  , Ned Freed 
Last updated 2020-01-21
Stream Legacy stream
Formats plain text html pdf htmlized (tools) htmlized with errata bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 2978 (Best Current Practice)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                         N. Freed
Request for Comments: 2978                                    Innosoft
BCP: 19                                                      J. Postel
Obsoletes: 2278                                                    ISI
Category: Best Current Practice                           October 2000

                  IANA Charset Registration Procedures

Status of this Memo

   This document specifies an Internet Best Current Practices for the
   Internet Community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.


   Multipurpose Internet Mail Extensions (MIME) (RFC-2045, RFC-2046,
   RFC-2047, RFC-2184) and various other Internet protocols are capable
   of using many different charsets.  This in turn means that the
   ability to label different charsets is essential.

   Note: The charset registration procedure exists solely to associate a
   specific name or names with a given charset and to give an indication
   of whether or not a given charset can be used in MIME text objects.
   In particular, the general applicability and appropriateness of a
   given registered charset to a particular application is a protocol
   issue, not a registration issue, and is not dealt with by this
   registration procedure.

1.  Definitions and Notation

   The following sections define terms used in this document.

1.1.  Requirements Notation

   This document occasionally uses terms that appear in capital letters.
   When the terms "MUST", "SHOULD", "MUST NOT", "SHOULD NOT", and "MAY"
   appear capitalized, they are being used to indicate particular
   requirements of this specification.  A discussion of the meanings of
   these terms appears in [RFC-2119].

Freed & Postel           Best Current Practice                  [Page 1]
RFC 2978          IANA Charset Registration Procedures      October 2000

1.2.  Character

   A member of a set of elements used for the organization, control, or
   representation of data.

1.3.  Charset

   The term "charset" (referred to as a "character set" in previous
   versions of this document) is used here to refer to a method of
   converting a sequence of octets into a sequence of characters.  This
   conversion may also optionally produce additional control information
   such as directionality indicators.

   Note that unconditional and unambiguous conversion in the other
   direction is not required, in that not all characters may be
   representable by a given charset and a charset may provide more than
   one sequence of octets to represent a particular sequence of

   This definition is intended to allow charsets to be defined in a
   variety of different ways, from simple single-table mappings such as
   US-ASCII to complex table switching methods such as those that use
   ISO 2022's techniques.  However, the definition associated with a
   charset name must fully specify the mapping to be performed.  In
   particular, use of external profiling information to determine the
   exact mapping is not permitted.

   HISTORICAL NOTE: The term "character set" was originally used in MIME
   to describe such straightforward schemes as US-ASCII and ISO-8859-1
   which consist of a small set of characters and a simple one-to-one
   mapping from single octets to single characters.  Multi-octet
   character encoding schemes and switching techniques make the
   situation much more complex.  As such, the definition of this term
   was revised to emphasize both the conversion aspect of the process,
   and the term itself has been changed to "charset" to emphasize that
   it is not, after all, just a set of characters.  A discussion of
   these issues as well as specification of standard terminology for use
   in the IETF appears in RFC 2130.

1.4.  Coded Character Set

   A Coded Character Set (CCS) is a one-to-one mapping from a set of
   abstract characters to a set of integers.  Examples of coded
   character sets are ISO 10646 [ISO-10646], US-ASCII [US-ASCII], and
   the ISO-8859 series [ISO-8859].

Freed & Postel           Best Current Practice                  [Page 2]
RFC 2978          IANA Charset Registration Procedures      October 2000

1.5.  Character Encoding Scheme

   A Character Encoding Scheme (CES) is a mapping from a Coded Character
   Set or several coded character sets to a set of octet sequences.  A
   given CES is sometimes associated with a single CCS; for example,
   UTF-8 applies only to ISO 10646.

2.  Charset Registration Requirements

   Registered charsets are expected to conform to a number of
   requirements as described below.

2.1.  Required Characteristics

   Registered charsets MUST conform to the definition of a "charset"
   given above.  In addition, charsets intended for use in MIME content
   types under the "text" top-level type MUST conform to the
Show full document text