この文書はRFC3629の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識や情報を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 この文書の配布は元のRFC同様に無制限です。


Network Working Group                                         F. Yergeau
Request for Comments: 3629                             Alis Technologies
STD: 63                                                    November 2003
Obsoletes: 2279
Category: Standards Track


              UTF-8, a transformation format of ISO 10646
             UTF−8、ISO10646の変換フォーマット

Status of this Memo
この文書の状態


   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.
   この文書はインターネット共同体のためのインターネット標準化作業中のプ
   ロトコルを指定して、そして改良のために議論と提案を求めます。標準化状
   態とこのプロトコル状態は「インターネット公式プロトコル標準」(STD
   1)の現在の版を参照してください。このメモの配布は無制限です。

Copyright Notice
著作権表示

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

Abstract
概要

   ISO/IEC 10646-1 defines a large character set called the Universal
   Character Set (UCS) which encompasses most of the world's writing
   systems.  The originally proposed encodings of the UCS, however, were
   not compatible with many current applications and protocols, and this
   has led to the development of UTF-8, the object of this memo.  UTF-8
   has the characteristic of preserving the full US-ASCII range,
   providing compatibility with file systems, parsers and other software
   that rely on US-ASCII values but are transparent to other values.
   This memo obsoletes and replaces RFC 2279.
   ISO/IEC 10646-1は世界の言語表記法の大部分をカバーする、
   共通文字集合(UCS)と呼ばれる大きい文字集合を定義します。UCSの
   元来の提案されたコーディングは、多くの現在のアプリケーションとプロト
   コルと両立できませんでした、そしてこれはこの文書の対象のUTF−8の
   開発を導きました。UTF−8が合衆国−ASCII範囲のコーディングを
   完全に維持し、合衆国−ASCII値に依存し他の値は透過なファイルシス
   テムやパーサや他のソフトウェアに互換性を提供します。この文書はRFC
   2279を時代遅れにし、置き換えます。

Table of Contents
目次

   1. Introduction
   1. はじめに
   2.  Notational conventions
   2.  表記
   3.  UTF-8 definition
   3.  UTF−8定義
   4.  Syntax of UTF-8 Byte Sequences
   4.  UTF−8バイト列の構文
   5.  Versions of the standards
   5.  標準の版
   6.  Byte order mark (BOM)
   6.  バイト順マーク(BOM)
   7.  Examples
   7.  例
   8.  MIME registration
   8.  MIME登録
   9.  IANA Considerations
   9.  IANAの考慮
   10. Security Considerations
   10. セキュリティの考察
   11. Acknowledgements
   11. 謝辞
   12. Changes from RFC 2279
   12. RFC2279からの変更
   13. Normative References
   13. 参照する参考文献

   14. Informative References
   14. 有益な参考文献
   15. URIs
   15. URI
   16. Intellectual Property Statement
   16. 知的所有権宣言
   17. Author's Address
   17. 著者のアドレス
   18. Full Copyright Statement
   18. 著作権表示全文


1. Introduction
1. はじめに

   ISO/IEC 10646 [ISO.10646] defines a large character set called the
   Universal Character Set (UCS), which encompasses most of the world's
   writing systems.  The same set of characters is defined by the
   Unicode standard [UNICODE], which further defines additional
   character properties and other application details of great interest
   to implementers.  Up to the present time, changes in Unicode and
   amendments and additions to ISO/IEC 10646 have tracked each other, so
   that the character repertoires and code point assignments have
   remained in sync.  The relevant standardization committees have
   committed to maintain this very useful synchronism.
   ISO/IEC 10646[ISO.10646]は一般的文字集合(UCS)と呼ば
   れる大きい文字集合を定義し、これは世界の言語表記法の大部分をカバーし
   ます。同じ文字集合はユニコード標準[UNICODE]で定義され、そしてこれはさ
   らに追加の文字特性と実装者に非常に重要な他のアプリケーションの詳細を
   定義します。現在の時点で、ユニコードの改正とISO/IEC 10646
   の改正と追加は、お互いに追跡していて、それで文字の種類とコードポイン
   ト割当は同期しています。適切な標準化委員会はこの非常に有用な同時性を
   維持する事を約束しました。

   ISO/IEC 10646 and Unicode define several encoding forms of their
   common repertoire: UTF-8, UCS-2, UTF-16, UCS-4 and UTF-32.  In an
   encoding form, each character is represented as one or more encoding
   units.  All standard UCS encoding forms except UTF-8 have an encoding
   unit larger than one octet, making them hard to use in many current
   applications and protocols that assume 8 or even 7 bit characters.
   ISO/IEC10646とユニコードは共通の文字のいくつかのコーディ
   ング形式を定義します:UTF−8とUCS−2とUTF−16とUCS−
   4とUTF−32。コーディング形式で、それぞれの文字が1つ以上のコー
   ディング単位として描かれます。UTF−8以外のすべての標準的UCSコー
   ディング形式は、1オクテットを超えるコーディング単位をもち、それらは
   8ビットかあるいは7ビットの文字を想定する多くの現在のアプリケーショ
   ンとプロトコルで使用するのが困難です。

   UTF-8, the object of this memo, has a one-octet encoding unit.  It
   uses all bits of an octet, but has the quality of preserving the full
   US-ASCII [US-ASCII] range: US-ASCII characters are encoded in one
   octet having the normal US-ASCII value, and any octet with such a
   value can only stand for a US-ASCII character, and nothing else.
   このメモの対象のUTF−8は、1オクテットのコーディング単位を持ちま
   す。これはすべてのオクテットのビットを使います、しかし合衆国−ASC
   II[US-ASCII]範囲のコーディングを維持する品質を持ちます:合衆国−
   ASCII文字が標準的な合衆国−ASCII値を持つ1オクテットでコー
   ド化され、そしてこのような値を持つオクテットが合衆国−ASCIIだけ
   を現します。

   UTF-8 encodes UCS characters as a varying number of octets, where the
   number of octets, and the value of each, depend on the integer value
   assigned to the character in ISO/IEC 10646 (the character number,
   a.k.a. code position, code point or Unicode scalar value).  This
   encoding form has the following characteristics (all values are in
   hexadecimal):
   UTF−8がUCS文字を様々な数のオクテットにコード化し、そしてオク
   テット数と値はそれぞれISO/IEC10646で文字に割り当てられた
   整数値に依存します(文字番号、別名、コード位置、コードポイント、ユニ
   コードスカラー値)。このコーディング形式は次の特徴を持ちます(すべて
   の値は16進数です):

   o  Character numbers from U+0000 to U+007F (US-ASCII repertoire)
      correspond to octets 00 to 7F (7 bit US-ASCII values).  A direct
      consequence is that a plain ASCII string is also a valid UTF-8
      string.
   o  文字番号のU+0000からU+007Fまで(合衆国−ASCII範囲)がオクテッ
      ト00から7Fに対応します(7ビット合衆国−ASCII値)。重要な事は、
      簡素なASCII文字列は同時に正しいUTF−8文字列であるというこ
      とです。

   o  US-ASCII octet values do not appear otherwise in a UTF-8 encoded
      character stream.  This provides compatibility with file systems
      or other software (e.g., the printf() function in C libraries)
      that parse based on US-ASCII values but are transparent to other
      values.
   o  合衆国−ASCIIオクテット値が他にUTF−8コード文字列に現われ
      ません。これは合衆国−ASCII値に基づいて文の解析をし、他の値に
      対して透過なファイルシステムや他のソフトウェア(例えば、Cライブラ
      リのprintf()関数)に互換性に提供します。

   o  Round-trip conversion is easy between UTF-8 and other encoding
      forms.
   o  UTF−8と他の形式間の相互変換は容易です。

   o  The first octet of a multi-octet sequence indicates the number of
      octets in the sequence.
   o  複数オクテット文字の最初のオクテットは文字のオクテット数を示します。

   o  The octet values C0, C1, F5 to FF never appear.
   o  オクテット値のC0とC1とF5からFFは決して現われません。

   o  Character boundaries are easily found from anywhere in an octet
      stream.
   o  オクテット境界はオクテット列のどこからでも容易に発見できます。

   o  The byte-value lexicographic sorting order of UTF-8 strings is the
      same as if ordered by character numbers.  Of course this is of
      limited interest since a sort order based on character numbers is
      almost never culturally valid.
   o  UTF−8文字列のバイト値の辞書順序は、文字番号による順序と同じで
      す。文字番号に基づいた並び替えは文化的にはほとんど正しくないので、
      もちろんこれは限定された意味を持ちます。

   o  The Boyer-Moore fast search algorithm can be used with UTF-8 data.
   o  ボイヤ−ムーアの高速捜索アルゴリズムはUTF−8データに使うことが
      できます。

   o  UTF-8 strings can be fairly reliably recognized as such by a
      simple algorithm, i.e., the probability that a string of
      characters in any other encoding appears as valid UTF-8 is low,
      diminishing with increasing string length.

   o  UTF−8文字列はかなり信頼できる単純なアルゴリズムで認知できます、
      すなわち、他のコーディングの文字列が同時に正しいUTF−8文字列で
      ある可能性は文字列長が長くなるにつれて減少します。

   UTF-8 was devised in September 1992 by Ken Thompson, guided by design
   criteria specified by Rob Pike, with the objective of defining a UCS
   transformation format usable in the Plan9 operating system in a non-
   disruptive manner.  Thompson's design was stewarded through
   standardization by the X/Open Joint Internationalization Group XOJIG
   (see [FSS_UTF]), bearing the names FSS-UTF (variant FSS/UTF), UTF-2
   and finally UTF-8 along the way.
   UTF−8は、破壊的でない方法でPlan9オペレーティング・システム
   で有用なUCS変換フォーマットを定義する目的で、ロブ・パイクのした設
   計基準に従って、ケン・トンプソンによって1992年9月に考案されまし
   た。トンプソンのデザインは、X/Openジョイント国際化グループ
   XOJIG([FSS_UTF]参照)を通して検討され、名前がFSS−UTF
   (方言としてFSS/UTF)やUTF−2となり、最終的にUTF−8に
   なりました。

2.  Notational conventions
2.  表記

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].
   この文書のキーワード"MUST"と"MUST NOT"と"REQUIRED"と"SHALL"と"SHALL
   NOT"と"SHOULD"と"SHOULD NOT"と"RECOMMENDED"と"MAY"と"OPTIONAL"は
   [RFC2119]で記述されるように解釈します。

   UCS characters are designated by the U+HHHH notation, where HHHH is a
   string of from 4 to 6 hexadecimal digits representing the character
   number in ISO/IEC 10646.
   UCS文字がU+HHHH表記で指定され、ここでHHHHはISO/IEC10646
   文字番号を表す4個から6個の16進数文字列です。

3.  UTF-8 definition
3.  UTF−8定義

   UTF-8 is defined by the Unicode Standard [UNICODE].  Descriptions and
   formulae can also be found in Annex D of ISO/IEC 10646-1 [ISO.10646]
   UTF−8はユニコード標準[UNICODE]によって定義されます。記述と方式が
   同じくISO/IEC10646−1[ISO.10646]の付録Dで見いだすことが
   できます。

   In UTF-8, characters from the U+0000..U+10FFFF range (the UTF-16
   accessible range) are encoded using sequences of 1 to 4 octets.  The
   only octet of a "sequence" of one has the higher-order bit set to 0,
   the remaining 7 bits being used to encode the character number.  In a
   sequence of n octets, n>1, the initial octet has the n higher-order
   bits set to 1, followed by a bit set to 0.  The remaining bit(s) of
   that octet contain bits from the number of the character to be
   encoded.  The following octet(s) all have the higher-order bit set to
   1 and the following bit set to 0, leaving 6 bits in each to contain
   bits from the character to be encoded.
   UTF−8で、U+0000..U+10FFFF範囲の文字(UTF−16のアクセス可能
   範囲の文字)が1から4オクテットを使ってコード化されます。単一オクテッ
   ト文字は最上位ビットが0で、残りの7ビットが文字番号に使われます。
   n>1のnオクテットの文字で、最初のオクテットは最上位nビットが1で、
   その後に0の1ビットがあります。オクテットの残りのビットはコード化さ
   れた文字の番号のビットを含んでいます。後のオクテットは最上位ビットが
   1、次が0、で残りの6ビットがコード化された文字の番号のビットを含ん
   でいます。

   The table below summarizes the format of these different octet types.
   The letter x indicates bits available for encoding bits of the
   character number.
   下記の表は異なるオクテット数の文字のフォーマットの要約です。文字xは
   コード化した文字番号に対応するビットを示します。

   Char. number range  |        UTF-8 octet sequence
      (hexadecimal)    |              (binary)
   --------------------+---------------------------------------------
   0000 0000-0000 007F | 0xxxxxxx
   0000 0080-0000 07FF | 110xxxxx 10xxxxxx
   0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
   0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

   Encoding a character to UTF-8 proceeds as follows:
   文字をUTF−8にコード化する処理は次のように進みます:

   1.  Determine the number of octets required from the character number
       and the first column of the table above.  It is important to note
       that the rows of the table are mutually exclusive, i.e., there is
       only one valid way to encode a given character.
   1.  文字番号と上記の表のから、コード化に必要なオクテット数を決定しま
       す。表の行が排他的であることは重要です、すなわち、ある文字をコー
       ド化する方法は1つだけです。

   2.  Prepare the high-order bits of the octets as per the second
       column of the table.
   2.  表の2番目の項目に従って8オクテットの上位ビットを準備してくださ
       い。

   3.  Fill in the bits marked x from the bits of the character number,
       expressed in binary.  Start by putting the lowest-order bit of
       the character number in the lowest-order position of the last
       octet of the sequence, then put the next higher-order bit of the
       character number in the next higher-order position of that octet,
       etc.  When the x bits of the last octet are filled in, move on to
       the next to last octet, then to the preceding one, etc. until all
       x bits are filled in.
   3.  文字番号の2進数表現のビットで、xで示したビットを埋めます。文字番
       号の最下位ビットを列の最終オクテットの最下位の位置に設定し、次の
       ビットを次の位置に埋めていきます。最終オクテットのxビットを埋め終
       わると、その前のオクテットに移動し、xビットが埋まるまで続けます。

   The definition of UTF-8 prohibits encoding character numbers between
   U+D800 and U+DFFF, which are reserved for use with the UTF-16
   encoding form (as surrogate pairs) and do not directly represent
   characters.  When encoding in UTF-8 from UTF-16 data, it is necessary
   to first decode the UTF-16 data to obtain character numbers, which
   are then encoded in UTF-8 as described above.  This contrasts with
   CESU-8 [CESU-8], which is a UTF-8-like encoding that is not meant for
   use on the Internet.  CESU-8 operates similarly to UTF-8 but encodes
   the UTF-16 code values (16-bit quantities) instead of the character
   number (code point).  This leads to different results for character
   numbers above 0xFFFF; the CESU-8 encoding of those characters is NOT
   valid UTF-8.
   UTF−8の定義はU+D800とU+DFFFの間の文字番号のコード化を禁止し、そ
   してこれは(代理対として)UTF−16のコーディング形式で使用するた
   めに予約され、そして直接文字を表しません。UTF−16データをUTF−
   8へコード化する時、最初にUTF−16データを解読し文字番号を得る必
   要があり、それから上記のようにコード化します。これはCESU−8
   [CESU-8]と対照的です、CESU−8はインターネット上での使用を意味し
   ないUTF−8に似たコーディングです。CESU−8はUTF−8と同様
   に運用しますが、文字番号の代わりにUTF−16コード値(16ビット)
   をコード化します。これは0xFFFF以上の文字番号で異なる結果を生じ
   ます;CESU−8コーディングは正当なUTF−8ではありません。

   Decoding a UTF-8 character proceeds as follows:
   UTF−8文字の解読は次のように進みます:。

   1.  Initialize a binary number with all bits set to 0.  Up to 21 bits
       may be needed.
   1.  2進数をビットをすべて0に設定して初期化します。最大21ビットが
       必要かもしれません。

   2.  Determine which bits encode the character number from the number
       of octets in the sequence and the second column of the table
       above (the bits marked x).
   2.  列のオクテット数と上記の表の第2項目から、どのビットが文字番号を
       コード化してるか決定します(xマークの付いたビット)。

   3.  Distribute the bits from the sequence to the binary number, first
       the lower-order bits from the last octet of the sequence and
       proceeding to the left until no x bits are left.  The binary
       number is now equal to the character number.
   3.  列から2進数にビットを配ります、最初に列の最後のオクテットの下位
       から、xビットがなくなるまで前にすすみます。2進数は文字番号に一致
       します。

   Implementations of the decoding algorithm above MUST protect against
   decoding invalid sequences.  For instance, a naive implementation may
   decode the overlong UTF-8 sequence C0 80 into the character U+0000,
   or the surrogate pair ED A1 8C ED BE B4 into U+233B4.  Decoding
   invalid sequences may have security consequences or cause other
   problems.  See Security Considerations (Section 10) below.
   解読アルゴリズムの実装は、無効な列の解読に対して保護されなければなり
   ません(MUST)。例えば、検査をしない実装は長すぎるUTF−8列C0 80を
   U+0000にコード化するか、代理対ED A1 8C ED BE B4をU+233B4にコード化す
   るかもしれません。無効な列の解読はセキュリティの問題があるか、あるい
   は他の問題を起こすかもしれません。下記のセキュリティの考察(10章)
   を見てください。

4.  Syntax of UTF-8 Byte Sequences
4.  UTF−8バイト列の構文

   For the convenience of implementors using ABNF, a definition of UTF-8
   in ABNF syntax is given here.
   ABNFを使用する実装者の便利さのために、ABNF構文でのUTF−8
   の定義がここで与えられます。

   A UTF-8 string is a sequence of octets representing a sequence of UCS
   characters.  An octet sequence is valid UTF-8 only if it matches the
   following syntax, which is derived from the rules for encoding UTF-8
   and is expressed in the ABNF of [RFC2234].
   UTF−8文字列がUCS文字の順序を表すオクテットの連続です。オクテッ
   ト連続は、それが次の構文に一致する場合に限り、正当なUTF−8で、そ
   してこれはUTF−8のためのコーディング規則から得られて、そして
   [RFC2234]のABNFで表現されます。

   UTF8-octets = *( UTF8-char )
   UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4
   UTF8-1      = %x00-7F
   UTF8-2      = %xC2-DF UTF8-tail
   UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
                 %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
   UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
                 %xF4 %x80-8F 2( UTF8-tail )
   UTF8-tail   = %x80-BF

   NOTE -- The authoritative definition of UTF-8 is in [UNICODE].  This
   grammar is believed to describe the same thing Unicode describes, but
   does not claim to be authoritative.  Implementors are urged to rely
   on the authoritative source, rather than on this ABNF.
   メモ−UTF−8の正式な定義は[UNICODE]です。この文法はユニコードが記
   述するのと同じものを記述すると信じられますが、正式であるとは主張しま
   せん。実装者は、このABNFより、正式な情報源に頼るように促されます。

5.  Versions of the standards
5.  標準の版数

   ISO/IEC 10646 is updated from time to time by publication of
   amendments and additional parts; similarly, new versions of the
   Unicode standard are published over time.  Each new version obsoletes
   and replaces the previous one, but implementations, and more
   significantly data, are not updated instantly.
   ISO/IEC10646が改正と追加の部分の公開によって時折更新され
   ます;同様に、ユニコード標準の新しい版が時折公開されます。それぞれの
   新しい版が古い版を時代遅れにし置き換えますが、実装や重要なデータは直
   ちには更新されません。

   In general, the changes amount to adding new characters, which does
   not pose particular problems with old data.  In 1996, Amendment 5 to
   the 1993 edition of ISO/IEC 10646 and Unicode 2.0 moved and expanded
   the Korean Hangul block, thereby making any previous data containing
   Hangul characters invalid under the new version.  Unicode 2.0 has the
   same difference from Unicode 1.1.  The justification for allowing
   such an incompatible change was that there were no major
   implementations and no significant amounts of data containing Hangul.
   The incident has been dubbed the "Korean mess", and the relevant
   committees have pledged to never, ever again make such an
   incompatible change (see Unicode Consortium Policies [1]).
   一般に、変更は新しい文字を加えることになり、そしてこれは古いデータで
   の特定の問題を発生しません。1996年に、ISO/IEC10646と
   ユニコード2.0の1993の版への改正5で、韓国ハングルブロックが動か
   され、ハングルを含む以前のデータが無効になりました。ユニコード2.0は
   ユニコード1.1から同様の違いを持っています。このような互換性がない変
   更を許す理由は、主要な実装とデータで大量のハングルがなかったからでし
   た。事件は「韓国の混乱」と名前を付けられました、そして適切な委員会は
   決して再びこのような互換性がない変更をしないと誓いました(ユニコード
   協会方針[1]参照)。

   New versions, and in particular any incompatible changes, have
   consequences regarding MIME charset labels, to be discussed in MIME
   registration (Section 8).
   新しい版数、特に互換性がない変更は、MIME文字集合ラベルに関して、
   MIME登録で論じられる結果を持ちます(8章)。

6.  Byte order mark (BOM)
6.  バイト順マーク(BOM)

   The UCS character U+FEFF "ZERO WIDTH NO-BREAK SPACE" is also known
   informally as "BYTE ORDER MARK" (abbreviated "BOM").  This character
   can be used as a genuine "ZERO WIDTH NO-BREAK SPACE" within text, but
   the BOM name hints at a second possible usage of the character:  to
   prepend a U+FEFF character to a stream of UCS characters as a
   "signature".  A receiver of such a serialized stream may then use the
   initial character as a hint that the stream consists of UCS
   characters and also to recognize which UCS encoding is involved and,
   with encodings having a multi-octet encoding unit, as a way to
   recognize the serialization order of the octets.  UTF-8 having a
   single-octet encoding unit, this last function is useless and the BOM
   will always appear as the octet sequence EF BB BF.
   UCS文字U+FEFF「ゼロ幅改行なし空白」は非公式に「バイト順マーク」
   (省略で「BOM」)として知られています。この文字はテキスト中で本物
   の「ゼロ幅改行なし空白」として用いらることができますが、BOMの名前
   は文字の2つ目の可能な使用方法を暗示します:UCS文字列の前に「署名」
   としてU+FEFF文字を設定する。このような連続データの受信者は最初文字を、
   データ列がUCS文字から成り、どのUCSコーディングが使われるかを認
   識し、そしてコーディングが複数オクテットのコーディング単位からなる場
   合、オクテットの連続データ化の順序を認識する方法の、手掛りとして用い
   るかもしれません。UTF−8が単一オクテットコーディング単位なので、
   最後の機能は無用で、そしてBOMは常にオクテット列EF BB BFに見えるで
   しょう。

   It is important to understand that the character U+FEFF appearing at
   any position other than the beginning of a stream MUST be interpreted
   with the semantics for the zero-width non-breaking space, and MUST
   NOT be interpreted as a signature.  When interpreted as a signature,
   the Unicode standard suggests than an initial U+FEFF character may be
   stripped before processing the text.  Such stripping is necessary in
   some cases (e.g., when concatenating two strings, because otherwise
   the resulting string may contain an unintended "ZERO WIDTH NO-BREAK
   SPACE" at the connection point), but might affect an external process
   at a different layer (such as a digital signature or a count of the
   characters) that is relying on the presence of all characters in the
   stream.  It is therefore RECOMMENDED to avoid stripping an initial
   U+FEFF interpreted as a signature without a good reason, to ignore it
   instead of stripping it when appropriate (such as for display) and to
   strip it only when really necessary.
   データ列の初め以外の位置にある文字U+FEFFがゼロ幅の改行なし空白の意味
   で解釈されなくてはならならず(MUST)、署名と解釈されてはならない(MUST
   NOT)と理解することは重要です。署名と解釈される時、最初のU+FEFF文字が
   テキストが処理される前に削除されるかもしれないと、ユニコード標準は示
   唆しています。このような削除はある場合に必要です(例えば、2つの文字
   列を連結する時、さもなければ連結で生じる文字列は連結位置で思いがけな
   い「ゼロ幅改行なし空白」を含むかもしれないからです)が、データ列の全
   ての文字の存在に依存するる外部の異なるレイヤの処理に影響を与えるかも
   しれません(ディジタル署名あるいは文字のカウントなど)。従って良い理
   由なしで署名と解釈された最初のU+FEFFを削除するの避け、(表示する場合
   など)適切な場合は削除の代わりに無視し、必要な場合だけ削除することが
   勧められます(RECOMMENDED)。

   U+FEFF in the first position of a stream MAY be interpreted as a
   zero-width non-breaking space, and is not always a signature.  In an
   attempt at diminishing this uncertainty, Unicode 3.2 adds a new
   character, U+2060 "WORD JOINER", with exactly the same semantics and
   usage as U+FEFF except for the signature function, and strongly
   recommends its exclusive use for expressing word-joining semantics.
   Eventually, following this recommendation will make it all but
   certain that any initial U+FEFF is a signature, not an intended "ZERO
   WIDTH NO-BREAK SPACE".
   データ列の最初の位置のU+FEFFはゼロ幅の改行なし空白と解釈されるかもし
   れず(MAY)、そして常に署名とは限りません。この不確定を減らす試みで、
   ユニコード3.2は署名機能以外はU+FEFFと正確に同じ意味と使い方の新し
   い文字「単語結合」を追加し、そして単語結合の表現では強く排他的にこれ
   の使用を勧めるます。結局は、この推薦も従うことで、最初のU+FEFFが、意
   図的な「ゼロ幅改行なし空白」ではなく、署名であることをほとんど確かに
   するでしょう。

   In the meantime, the uncertainty unfortunately remains and may affect
   Internet protocols.  Protocol specifications MAY restrict usage of
   U+FEFF as a signature in order to reduce or eliminate the potential
   ill effects of this uncertainty.  In the interest of striking a
   balance between the advantages (reduction of uncertainty) and
   drawbacks (loss of the signature function) of such restrictions, it
   is useful to distinguish a few cases:
   その間、不確定は不幸にも残っていて、そしてインターネット・プロトコル
   に影響を与えるかもしれません。プロトコル仕様が、この不確定の可能性が
   ある悪い効果を減量するか排除するために、署名としてU+FEFFを使用するの
   を制限するかもしれません(MAY)。このような制限の利点(不確定の縮小)と
   欠点(署名機能の損失)の間の均衡をとる関係で、いくつかの場合を区別す
   ることは有用です:

   o  A protocol SHOULD forbid use of U+FEFF as a signature for those
      textual protocol elements that the protocol mandates to be always
      UTF-8, the signature function being totally useless in those
      cases.
   o  プロトコルが常にUTF−8を義務化し署名機能が無用である場合、プロ
      トコルがテキストのプロトコル要素で署名としてU+FEFFの使用を禁じるべ
      きです(SHOULD)。

   o  A protocol SHOULD also forbid use of U+FEFF as a signature for
      those textual protocol elements for which the protocol provides
      character encoding identification mechanisms, when it is expected
      that implementations of the protocol will be in a position to
      always use the mechanisms properly.  This will be the case when
      the protocol elements are maintained tightly under the control of
      the implementation from the time of their creation to the time of
      their (properly labeled) transmission.
   o  プロトコルの実装が常に正確にメカニズムを使うと思われる時、プロトコ
      ルが文字コーディング識別メカニズムを供給するなら、プロトコルがテキ
      ストのプロトコル要素で署名としてU+FEFFの使用を禁じるべきです(SHOULD)。
      これは、プロトコル要素が生成時から伝送時まで実装の制御下でしっかり
      管理される時に真実であるでしょう。

   o  A protocol SHOULD NOT forbid use of U+FEFF as a signature for
      those textual protocol elements for which the protocol does not
      provide character encoding identification mechanisms, when a ban
      would be unenforceable, or when it is expected that
      implementations of the protocol will not be in a position to
      always use the mechanisms properly.  The latter two cases are
      likely to occur with larger protocol elements such as MIME
      entities, especially when implementations of the protocol will
      obtain such entities from file systems, from protocols that do not
      have encoding identification mechanisms for payloads (such as FTP)
      or from other protocols that do not guarantee proper
      identification of character encoding (such as HTTP).
   o  プロトコルが文字コーディング識別メカニズムを供給しないか、禁止令が
      施行不可能であろう時か、プロトコル実装が常に正確にメカニズムを使う
      と思われない時に、テキストのプロトコル要素でU+FEFFを署名として使用
      するのを禁止するべきではありません(SHOULD NOT)。後の2つの場合は、
      MIMEエンティティのようなより大きいプロトコル要素で、特にプロト
      コル実装がこのようなエンティティをファイルシステムから得る場合や、
      ペイロードにコーディング識別メカニズムを持たないプロトコル(FTP
      など)から得る場合や、文字コーディングの適切な識別を保証しない他の
      プロトコル(HTTPなど)から得る場合に、起こる可能性が高いです。

   When a protocol forbids use of U+FEFF as a signature for a certain
   protocol element, then any initial U+FEFF in that protocol element
   MUST be interpreted as a "ZERO WIDTH NO-BREAK SPACE".  When a
   protocol does NOT forbid use of U+FEFF as a signature for a certain
   protocol element, then implementations SHOULD be prepared to handle a
   signature in that element and react appropriately: using the
   signature to identify the character encoding as necessary and
   stripping or ignoring the signature as appropriate.
   プロトコルがあるプロトコル要素で署名としてU+FEFFの使用を禁じる時、そ
   のプロトコル要素の最初のU+FEFFは「ゼロ幅改行無し空白」と解釈されなく
   てはなりません(MUST)。プロトコルがあるプロトコル要素の署名として
   U+FEFFの使用を禁じない時、実装がその要素で署名を処理して適切に対応す
   る用意ができるべきです(SHOULD):文字コーディングを識別するために署名
   を使い、適切に署名を削除か無視します。

7.  Examples
7.  例

   The character sequence U+0041 U+2262 U+0391 U+002E "A<NOT IDENTICAL
   TO><ALPHA>." is encoded in UTF-8 as follows:
   文字列U+0041 U+2262 U+0391 U+002E「A<NOT IDENTICAL TO><ALPHA>.」はU
   TF−8で以下のようにコードかされます。

       --+--------+-----+--
       41 E2 89 A2 CE 91 2E
       --+--------+-----+--

   The character sequence U+D55C U+AD6D U+C5B4 (Korean "hangugeo",
   meaning "the Korean language") is encoded in UTF-8 as follows:
   文字列U+D55C U+AD6D U+C5B4(韓国語の「hangugeo」、「韓国語」の意味)
   はUTF−8で以下のようにコード化されます。

       --------+--------+--------
       ED 95 9C EA B5 AD EC 96 B4
       --------+--------+--------

   The character sequence U+65E5 U+672C U+8A9E (Japanese "nihongo",
   meaning "the Japanese language") is encoded in UTF-8 as follows:
   文字列U+65E5 U+672C U+8A9E(日本語の「nihongo」、「日本語」の意味)
   はUTF−8で以下のようにコード化されます。

       --------+--------+--------
       E6 97 A5 E6 9C AC E8 AA 9E
       --------+--------+--------

   The character U+233B4 (a Chinese character meaning 'stump of tree'),
   prepended with a UTF-8 BOM, is encoded in UTF-8 as follows:
   文字U+233B4(中国語文字で、「木の切り株」の意味)はUTF−8のBOM
   を先頭につけて、UTF−8で以下のようにコード化されます。

       --------+-----------
       EF BB BF F0 A3 8E B4
       --------+-----------

8.  MIME registration
8.  MIME登録

   This memo serves as the basis for registration of the MIME charset
   parameter for UTF-8, according to [RFC2978].  The charset parameter
   value is "UTF-8".  This string labels media types containing text
   consisting of characters from the repertoire of ISO/IEC 10646
   including all amendments at least up to amendment 5 of the 1993
   edition (Korean block), encoded to a sequence of octets using the
   encoding scheme outlined above.  UTF-8 is suitable for use in MIME
   content types under the "text" top-level type.
   [RFC2978]によれば、この文書はUTF−8のためのMIME文字集合パラ
   メータの登録の基礎を勤めます。文字集合パラメータ値は「UTF-8」です。
   この文字列はメディアタイプが、上に概説されたコーディング計画を使って
   いるオクテット列でコード化されて、少なくとも1993の版(韓国のブロッ
   ク)の改正5までのすべての改正を含めむ、ISO/IEC10646の種
   類の文字から成り立っているテキストを含んでいると判別します。UTF−
   8は「テキスト」最上位レベルタイプの下のMIME内容タイプでの使用に
   適しています。

   It is noteworthy that the label "UTF-8" does not contain a version
   identification, referring generically to ISO/IEC 10646.  This is
   intentional, the rationale being as follows:
   ラベル「UTF-8」が、参照するISO/IEC10646のバージョン識別を
   含んでいないことは注目すべきです。これは意図的で、原理は次の通りです:

   A MIME charset label is designed to give just the information needed
   to interpret a sequence of bytes received on the wire into a sequence
   of characters, nothing more (see [RFC2045], section 2.2).  As long as
   a character set standard does not change incompatibly, version
   numbers serve no purpose, because one gains nothing by learning from
   the tag that newly assigned characters may be received that one
   doesn't know about.  The tag itself doesn't teach anything about the
   new characters, which are going to be received anyway.
   MIME文字集合ラベルがワイヤ上で受信したバイト列を解釈するために必
   要な情報を与えるよう意図され、それ以上ではありません([RFC2045]2.2
   章参照)。文字集合標準が互換性がなく変化しない限り、バージョン番号が
   目的を満たしません、なぜなら新しい新たに割り当てられた文字を受信する
   かもしれないことを知ることで得るものはありませんから。タグ自身は新し
   い文字について何も教えず、いずれにしろ受信します。

   Hence, as long as the standards evolve compatibly, the apparent
   advantage of having labels that identify the versions is only that,
   apparent.  But there is a disadvantage to such version-dependent
   labels: when an older application receives data accompanied by a
   newer, unknown label, it may fail to recognize the label and be
   completely unable to deal with the data, whereas a generic, known
   label would have triggered mostly correct processing of the data,
   which may well not contain any new characters.
   それ故、標準が調和して進展する限り、バージョンを識別するラベルを持つ
   外見上明白な利点は、外見上明白だというだけに過ぎません。このようなバー
   ジョン依存のラベルに欠点があります:古いアプリケーションが新しい未知
   のラベルと共にデータを受け取る時、一般的な周知のラベルが新しい文字を
   含んでいてもデータのたいてい正しい処理をしただろうが、ラベルの認識に
   失敗し完全にデータを扱うことが不可能かもしれません。

   Now the "Korean mess" (ISO/IEC 10646 amendment 5) is an incompatible
   change, in principle contradicting the appropriateness of a version
   independent MIME charset label as described above.  But the
   compatibility problem can only appear with data containing Korean
   Hangul characters encoded according to Unicode 1.1 (or equivalently
   ISO/IEC 10646 before amendment 5), and there is arguably no such data
   to worry about, this being the very reason the incompatible change
   was deemed acceptable.
   「韓国の混乱」(ISO/IEC10646の改正5)は、上に記述される
   ように、、原則としてバージョンに依存しないMIME文字集合ラベルの適
   切さを否定する互換性がない変更です。けれども互換性問題はユニコード1.1
   (あるいは等価なISO/IEC10646の改正5以前)に従ってコード
   化された韓国語のハングル文字を含む状態でだけ現われ、このようなデータ
   はおそらくなく、互換性がない変更が受容できるとみなされたまさしくその
   理由はこれです。

   In practice, then, a version-independent label is warranted, provided
   the label is understood to refer to all versions after Amendment 5,
   and provided no incompatible change actually occurs.  Should
   incompatible changes occur in a later version of ISO/IEC 10646, the
   MIME charset label defined here will stay aligned with the previous
   version until and unless the IETF specifically decides otherwise.
   実際、ラベルが改正5の後にすべての版を参照すると理解され、そして互換
   性がない変更が実際に起こらないなら、バージョンに依存しないラベルが正
   当化されます。互換性がない変更がISO/IEC10646の後のバージョ
   ンで生じたなら、ここで定義されたMIME文字集合ラベルが、IETFが
   特別な決定を下さない限り、前のバージョンの指定のままとされるでしょう。

9.  IANA Considerations
9.  IANAの考慮

   The entry for UTF-8 in the IANA charset registry has been updated to
   point to this memo.
   IANA文字集合登記所の中のUTF-8へのエントリーはこの文書を指し示すた
   めに更新されました。

10.  Security Considerations
10.  セキュリティの考察

   Implementers of UTF-8 need to consider the security aspects of how
   they handle illegal UTF-8 sequences.  It is conceivable that in some
   circumstances an attacker would be able to exploit an incautious
   UTF-8 parser by sending it an octet sequence that is not permitted by
   the UTF-8 syntax.
   UTF−8の実装者がセキュリティの面で正しくないUTF−8の処理方法
   を考える必要があります。ある状況で攻撃者がUTF−8構文で認められな
   いオクテット列を送ることによって軽率なUTF−8パーサを利用すること
   が可能であるであろうことは想像可能です。

   A particularly subtle form of this attack can be carried out against
   a parser which performs security-critical validity checks against the
   UTF-8 encoded form of its input, but interprets certain illegal octet
   sequences as characters.  For example, a parser might prohibit the
   NUL character when encoded as the single-octet sequence 00, but
   erroneously allow the illegal two-octet sequence C0 80 and interpret
   it as a NUL character.  Another example might be a parser which
   prohibits the octet sequence 2F 2E 2E 2F ("/../"), yet permits the
   illegal octet sequence 2F C0 AE 2E 2F.  This last exploit has
   actually been used in a widespread virus attacking Web servers in
   2001; thus, the security threat is very real.
   この攻撃の特に微妙な形式は、入力のUTF−8でコード化された形式に対
   してセキュリティ上の検査を実行するが、しかしある特定の正しくないオク
   テット列を文字に翻訳するパーサーに対して実行することができます。例え
   ば、パーサーが単一オクテット列の00にコード化したヌルを禁止するが、誤っ
   て正しくない2オクテット列C0 80を許して、そしてヌル文字として翻訳する
   かもしれません。もう1つの例はオクテット列2F 2E 2E 2F("/../")を禁止す
   るパーサーが、誤ったオクテット列2F C0 AE 2E 2Fを認める事です。この後
   の方法は実際に2001年に広範囲にウェブサーバを攻撃たウイルスで使わ
   れました;それで、セキュリティの脅威は非常に真実です。

   Another security issue occurs when encoding to UTF-8: the ISO/IEC
   10646 description of UTF-8 allows encoding character numbers up to
   U+7FFFFFFF, yielding sequences of up to 6 bytes.  There is therefore
   a risk of buffer overflow if the range of character numbers is not
   explicitly limited to U+10FFFF or if buffer sizing doesn't take into
   account the possibility of 5- and 6-byte sequences.
   他のセキュリティ問題が、UTF−8にコーディング時に起きます:UTF−
   8のISO/IEC10646の記述はU+7FFFFFFFまでの文字番号をコード
   化して、最高6バイトの列をもたらすことを許します。もし文字番号の範囲
   が明示的にU+10FFFFに限定されていないなら、あるいはもしバッファサイズ
   が5バイトや6バイト列の可能性を考慮しないなら、それ故にバッファオー
   バーフローの危険があります。

   Security may also be impacted by a characteristic of several
   character encodings, including UTF-8: the "same thing" (as far as a
   user can tell) can be represented by several distinct character
   sequences.  For instance, an e with acute accent can be represented
   by the precomposed U+00E9 E ACUTE character or by the canonically
   equivalent sequence U+0065 U+0301 (E + COMBINING ACUTE).  Even though
   UTF-8 provides a single byte sequence for each character sequence,
   the existence of multiple character sequences for "the same thing"
   may have security consequences whenever string matching, indexing,
   searching, sorting, regular expression matching and selection are
   involved.  An example would be string matching of an identifier
   appearing in a credential and in access control list entries.  This
   issue is amenable to solutions based on Unicode Normalization Forms,
   see [UAX15].
   セキュリティがUTF−8を含むいくつかのコード化の特徴によって影響を
   与えられるかもしれません:(ユーザが認識できる限り)「同じもの」はい
   くつかの別の文字列で表すことができます。例えば、鋭いアクセントのeが
   組合せ済みのU+00E9 E ACUTE文字で、あるいは正規的に等しい列U+0065
   U+0301 (E + COMBINING ACUTE)で表現できます。UTF−8がそれぞれの文
   字列にひとつのバイト列を提供しても、「同じもの」に多数の文字列が存在
   するので、文字比較やインデックス付けや並び替えや正規表現比較や選択で、
   セキュリティの問題があります。例えば、証明書の識別子の文字列比較と、
   アクセス制御リストの項目です。この問題はユニコード正規化形式に基づい
   て解決する事が出来ます、[UAX15]を見てください。

11.  Acknowledgements
11.  謝辞

   The following have participated in the drafting and discussion of
   this memo: James E. Agenbroad, Harald Alvestrand, Andries Brouwer,
   Mark Davis, Martin J. Duerst, Patrick Faltstrom, Ned Freed, David
   Goldsmith, Tony Hansen, Edwin F. Hart, Paul Hoffman, David Hopwood,
   Simon Josefsson, Kent Karlsson, Dan Kohn, Markus Kuhn, Michael Kung,
   Alain LaBonte, Ira McDonald, Alexey Melnikov, MURATA Makoto, John
   Gardiner Myers, Chris Newman, Dan Oscarsson, Roozbeh Pournader,
   Murray Sargent, Markus Scherer, Keld Simonsen, Arnold Winkler,
   Kenneth Whistler and Misha Wolf.
   下記の方々はこの文章の作成の論議に参加しました:James E. Agenbroad、
   Harald Alvestrand、Andries Brouwer、Mark Davis、Martin J. Duerst、
   Patrick Faltstrom、Ned Freed、David Goldsmith、Tony Hansen、
   Edwin F. Hart、Paul Hoffman、David Hopwood、Simon Josefsson、
   Kent Karlsson、Dan Kohn、Markus Kuhn、Michael Kung、Alain LaBonte、
   Ira McDonald、Alexey Melnikov、MURATA Makoto、John Gardiner Myers、
   Chris Newman、Dan Oscarsson、Roozbeh Pournader、Murray Sargent、
   Markus Scherer、Keld Simonsen、Arnold Winkler、Kenneth Whistler、
   Misha Wolf.

12.  Changes from RFC 2279
12.  RFC2279からの変更

   o  Restricted the range of characters to 0000-10FFFF (the UTF-16
      accessible range).
   o  文字範囲を0000-10FFFF (UTF−16のアクセス可能な範囲)に制限し
      ました。

   o  Made Unicode the source of the normative definition of UTF-8,
      keeping ISO/IEC 10646 as the reference for characters.
   o  UTF−8の標準定義の元をユニコードにし、ISO/IEC10646
      を文字の参考としました。

   o  Straightened out terminology.  UTF-8 now described in terms of an
      encoding form of the character number.  UCS-2 and UCS-4 almost
      disappeared.
   o  用語を直しました。現在UTF−8は文字番号のコーディングの形式を記
      述します。UCS−2とUCS−4がほとんど姿を消しました。

   o  Turned the note warning against decoding of invalid sequences into
      a normative MUST NOT.
   o  無効な列を解読することの禁止を警告しているノートを標準のMUST NOTに
      変えました。

   o  Added a new section about the UTF-8 BOM, with advice for
      protocols.
   o  UTF−8のBOMについて、プロトコルのためにアドバイスの新しい章
      を加えました。

   o  Removed suggested UNICODE-1-1-UTF-8 MIME charset registration.
   o  提案されたユニコードUNICODE-1-1-UTF-8というMIME文字集合登録を
      削除しました。

   o  Added an ABNF syntax for valid UTF-8 octet sequences
   o  正当なUTF−8オクテット列のためにABNF構文を加えました。

   o  Expanded Security Considerations section, in particular impact of
      Unicode normalization
   o  ユニコード正常化の特定の影響で、セキュリティの考慮の章を拡大しまし
      た。

13.  Normative References
13.  参照する参考文献


   [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119, March 1997.

   [ISO.10646] International Organization for Standardization,
               "Information Technology - Universal Multiple-octet coded
               Character Set (UCS)", ISO/IEC Standard 10646,  comprised
               of ISO/IEC 10646-1:2000, "Information technology --
               Universal Multiple-Octet Coded Character Set (UCS) --
               Part 1: Architecture and Basic Multilingual Plane",
               ISO/IEC 10646-2:2001, "Information technology --
               Universal Multiple-Octet Coded Character Set (UCS) --
               Part 2:  Supplementary Planes" and ISO/IEC 10646-
               1:2000/Amd 1:2002, "Mathematical symbols and other
               characters".

   [UNICODE]   The Unicode Consortium, "The Unicode Standard -- Version
               4.0",  defined by The Unicode Standard, Version 4.0
               (Boston, MA, Addison-Wesley, 2003.  ISBN 0-321-18578-1),
               April 2003, <http://www.unicode.org/unicode/standard/
               versions/enumeratedversions.html#Unicode_4_0_0>.

14.  Informative References
14.  有益な参考文献

   [CESU-8]    Phipps, T., "Unicode Technical Report #26: Compatibility
               Encoding Scheme for UTF-16: 8-Bit (CESU-8)", UTR 26,
               April 2002,
               <http://www.unicode.org/unicode/reports/tr26/>.

   [FSS_UTF]   X/Open Company Ltd., "X/Open Preliminary Specification --
               File System Safe UCS Transformation Format (FSS-UTF)",
               May 1993, <http://wwwold.dkuug.dk/jtc1/sc22/wg20/docs/
               N193-FSS-UTF.pdf>.

   [RFC2045]   Freed, N. and N. Borenstein, "Multipurpose Internet Mail
               Extensions (MIME) Part One: Format of Internet Message
               Bodies", RFC 2045, November 1996.

   [RFC2234]   Crocker, D. and P. Overell, "Augmented BNF for Syntax
               Specifications: ABNF", RFC 2234, November 1997.

   [RFC2978]   Freed, N. and J. Postel, "IANA Charset Registration
               Procedures", BCP 19, RFC 2978, October 2000.

   [UAX15]     Davis, M. and M. Duerst, "Unicode Standard Annex #15:
               Unicode Normalization Forms",  An integral part of The
               Unicode Standard, Version 4.0.0, April 2003, <http://
               www.unicode.org/unicode/reports/tr15>.

   [US-ASCII]  American National Standards Institute, "Coded Character
               Set - 7-bit American Standard Code for Information
               Interchange", ANSI X3.4, 1986.

15.  URIs
15.  URI

   [1]  <http://www.unicode.org/unicode/standard/policies.html>

16.  Intellectual Property Statement
16.  知的所有権宣言

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.
   この文書に記述された実装や技術に関して主張される知的財産や他の権利の
   正当性や範囲について、この様な権利の元でライセンスが利用可能か利用不
   可能かの範囲について、IETFは何の立場もとりません;この様な権利を
   認識する調査をしたとは述べません。IETF標準手続きと標準関連文書で
   の権利に関しての手順の情報はBCP11を見てください。出版に利用する
   権利の利用可能性とライセンスの保証の利用可能性か、あるいはこの仕様書
   の実装者や利用者のこの様な所有権の一般的ライセンスや許可を得る試みの
   結果はIETF事務局で得られます。

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.
   IETFは興味を持った誰からでもこの標準を実行するのに必要な技術をカ
   バーする著作権や特許や特許出願や他の所有権の注意を持ってくるように求
   めます。どうかIETF専務に情報を伝えてください。

17.  Author's Address
17.  著者のアドレス

   Francois Yergeau
   Alis Technologies
   100, boul. Alexis-Nihon, bureau 600
   Montreal, QC  H4M 2P2
   Canada

   Phone: +1 514 747 2547
   Fax:   +1 514 747 2561
   EMail: fyergeau@alis.com

18.  Full Copyright Statement
18.  著作権表示全文

   Copyright (C) The Internet Society (2003).  All Rights Reserved.
   著作権(C)インターネット学会(2003)。すべての権利は保留される。

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.
   上記著作権表示とこの段落が全ての複写や派生的な仕事につけられていれば、
   この文書と翻訳は複写や他者への提供ができ、そしてコメントや説明や実装
   を支援する派生的な仕事のためにこの文書の全部か一部を制約なく複写や出
   版や配布できます。しかし、この文書自身は、英語以外の言葉への翻訳やイ
   ンターネット標準を開発する目的で必要な場合以外は、インターネット学会
   や他のインターネット組織は著作権表示や参照を削除されるような変更がで
   きません、インターネット標準を開発する場合はインターネット標準化プロ
   セスで定義された著作権の手順に従われます。

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.
   上に与えられた限定された許可は永久で、インターネット学会やその後継者
   や譲渡者によって無効にされません。

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
   この文書とここに含む情報は無保証で供給され、そしてインターネット学会
   とインターネット技術標準化タスクフォースは、特別にも暗黙にも、この情
   報の利用が権利を侵害しないことや商業利用や特別の目的への利用に適当で
   ある事の保障を含め、すべての保証を拒否します。

Acknowledgement
謝辞

   Funding for the RFC Editor function is currently provided by the
   Internet Society.
   RFCエディタ機能のための資金供給が現在インターネット学会によって
   供給されます。

Japanese translation by Ishida So