pytho****@googl*****
pytho****@googl*****
2011年 4月 20日 (水) 10:39:51 JST
3 new revisions: Revision: 7f8e08c64abe Author: cocoatomo <cocoa****@gmail*****> Date: Mon Apr 4 17:27:30 2011 Log: uniform the translated word from codec http://code.google.com/p/python-doc-ja/source/detail?r=7f8e08c64abe Revision: bd40112736bd Author: cocoatomo <cocoa****@gmail*****> Date: Tue Apr 19 18:37:23 2011 Log: c-api/unicode.rst translation completed http://code.google.com/p/python-doc-ja/source/detail?r=bd40112736bd Revision: 5418ff459748 Author: cocoatomo <cocoa****@gmail*****> Date: Tue Apr 19 18:38:40 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=5418ff459748 ============================================================================== Revision: 7f8e08c64abe Author: cocoatomo <cocoa****@gmail*****> Date: Mon Apr 4 17:27:30 2011 Log: uniform the translated word from codec http://code.google.com/p/python-doc-ja/source/detail?r=7f8e08c64abe Modified: /c-api/unicode.rst ======================================= --- /c-api/unicode.rst Fri Apr 1 15:41:14 2011 +++ /c-api/unicode.rst Mon Apr 4 17:27:30 2011 @@ -1,45 +1,55 @@ +.. todo + + 訳語の統一 codec & コーデック, など + Unicode: Unicode + codec: 編集すべき数からいって codec にするか? どっちが親切なんだろう? + 書式の統一 和文英文の間は 1 つ空白空ける. + 句読点 + 訳文の質上げる + + .. highlightlang:: c .. _unicodeobjects: Unicode オブジェクトと codec ------------------------------ +---------------------------- .. sectionauthor:: Marc-Andre Lemburg <mal****@lembu*****> Unicode オブジェクト -^^^^^^^^^^^^^^^^^^^^^ - -Unicode type -""""""""""""" - -以下は Python の Unicode 実装に用いられている基本 Unicode オブジェクト型で す: +^^^^^^^^^^^^^^^^^^^^ + +Unicode 型 +"""""""""" + +以下は Python の Unicode 実装に用いられている基本 Unicode オブジェクト型で す: .. c:type:: Py_UNICODE - この型はUnicode序数(Unicode ordinal)を保持するための基礎単位として、 Pythonが内部的に使います。 - Pythonのデフォルトのビルドでは、 :c:type:`Py_UNICODE` として16-bit型を利 用し、 Unicodeの値を内部ではUCS-2で保持します。 - UCS4版のPythonをビルドすることもできます。(最近の多くのLinuxディストリビ ューションでは UCS4版のPythonがついてきます) - UCS4版ビルドでは :c:type:`Py_UNICODE` に32-bit型を利用し、内部では Unicode データをUCS4で保持します。 - :c:type:`wchar_t` が利用できて、PythonのUnicodeに関するビルドオプション と - 一致するときは、 :c:type:`Py_UNICODE` は :c:type:`wchar_t` をtypedefでエ イリアス + この型は Unicode 序数 (Unicode ordinal) を保持するための基礎単位とし て、 Python が内部的に使います。 + Python のデフォルトのビルドでは、 :c:type:`Py_UNICODE` として 16-bit 型 を利用し、 Unicode の値を内部では UCS-2 で保持します。 + UCS4 版の Python をビルドすることもできます。(最近の多くの Linux ディス トリビューションでは UCS4 版の Python がついてきます) + UCS4 版ビルドでは :c:type:`Py_UNICODE` に 32-bit 型を利用し、内部では Unicode データを UCS4 で保持します。 + :c:type:`wchar_t` が利用できて、 Python の Unicode に関するビルドオプシ ョンと + 一致するときは、 :c:type:`Py_UNICODE` は :c:type:`wchar_t` を typedef で エイリアス され、ネイティブプラットフォームに対する互換性を高めます。それ以外のすべ てのプラットフォームでは、 :c:type:`Py_UNICODE` は :c:type:`unsigned short` (UCS2) か :c:type:`unsigned long` (UCS4) の - typedefによるエイリアスになります。 - -UCS2とUCS4のPythonビルドの間にはバイナリ互換性がないことに注意してくださ い。拡張やインタフェースを書くときには、このことを覚えておいてください。 + typedef によるエイリアスになります。 + +UCS2 と UCS4 の Python ビルドの間にはバイナリ互換性がないことに注意してくだ さい。拡張やインタフェースを書くときには、このことを覚えておいてください。 .. c:type:: PyUnicodeObject - この :c:type:`PyObject` のサブタイプは Unicode オブジェクトを表現しま す。 + この :c:type:`PyObject` のサブタイプは Unicode オブジェクトを表します。 .. c:var:: PyTypeObject PyUnicode_Type - この :c:type:`PyTypeObject` のインスタンスは Python の Unicode 型を表現 します。 - Pythonレイヤにおける ``unicode`` や ``types.UnicodeType`` と同じオブジェ クトです。 + この :c:type:`PyTypeObject` のインスタンスは Python の Unicode 型を表し ます。 + Python レイヤにおける ``unicode`` や ``types.UnicodeType`` と同じオブジ ェクトです。 以下の API は実際には C マクロで、Unicode オブジェクト内部の読み出し専用 データに対するチェックやアクセスを高速に行います: @@ -226,7 +236,7 @@ その他のUnicodeオブジェクトを含むオブジェクトは :exc:`TypeError` 例外を 引き起こします。 - この API は、エラーが生じたときには *NULL* を返します。呼び出し側は返さ れたオブジェクトを decref する責任があります。 + この API は、エラーが生じたときには *NULL* を返します。呼び出し側は返さ れたオブジェクトに対し参照カウンタを 1 つ減らす (decref) する責任がありま す。 .. c:function:: PyObject* PyUnicode_FromObject(PyObject *obj) @@ -235,8 +245,8 @@ への型強制が必要な際に常にこの関数を使います。 プラットフォームで :c:type:`wchar_t` がサポートされていて、かつ wchar.h が 提供されている場合、Python は以下の関数を使って -:c:type:`wchar_t` に対するインタフェースを確立することがあります。このサ ポートは、Python 自体の :c:type:`Py_UNICODE` -型がシステムの :c:type:`wchar_t` と同一の場合に最適化をもたらします。 +:c:type:`wchar_t` に対して直接アクセスすることができます。このアクセスは、 Python 自体の :c:type:`Py_UNICODE` +型がシステムの :c:type:`wchar_t` と同一の場合に最適化されます。 wchar_t サポート """"""""""""""""" @@ -257,10 +267,10 @@ Unicode オブジェクトの内容を :c:type:`wchar_t` バッファ *w* にコピーしま す。最大で *size* 個の :c:type:`wchar_t` 文字を (末尾の 0-終端文字を除いて) コピーします。コ ピーした :c:type:`wchar_t` 文字の個数を返します。エラーの時には -1 を返します。 :c:type:`wchar_t` 文字列は 0-終端されている場合も、されていない場合も - あります。関数の呼び出し手の責任で、アプリケーションの必要に応じ て :c:type:`wchar_t` 文字列を 0-終端してください。 + あります。関数の呼び出し側の責任で、アプリケーションの必要に応じ て :c:type:`wchar_t` 文字列を 0-終端してください。 .. versionchanged:: 2.5 - この関数は以前は :c:type:`int` を返していました。 + この関数は以前は :c:type:`int` を返し、 *size* の型に :c:type:`int` を利用していました。 この変更により、 64bit システムを正しくサポートするには修正が必要にな ります。 @@ -269,7 +279,7 @@ 組み込み codec (built-in codec) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Python では、処理速度を高めるために C で書かれた一そろいの codec を提供して います。 +Python では、処理速度を高めるために C で書かれた一揃いの codec を提供してい ます。 これらの codec は全て以下の関数を介して直接利用できます。 以下の API の多くが、 *encoding* と *errors* という二つの引数をとります。こ れらのパラメタは、組み込みの Unicode @@ -388,7 +398,7 @@ narrow build の場合、BMP外のコードポイントはサロゲートペアとしてデコード されます。 - *byteorder* が *NULL* のとき、コーデックは native order モードで開始しま す。 + *byteorder* が *NULL* のとき、 codec は native order モードで開始しま す。 codec が例外を発生させたときは *NULL* を返します。 @@ -422,7 +432,7 @@ *Py_UNICODE_WIDE* が定義されていないとき、サロゲートペアを1つのコードポ イントとして 出力します。 - コーデックが例外を発生させた場合、 *NULL* を返します。 + codec が例外を発生させた場合、 *NULL* を返します。 .. versionadded:: 2.6 @@ -433,7 +443,7 @@ 返します。 文字列は常に BOM マークで始まります。 エラーハンドラは "strict" です。 - コーデックが例外を発生させたときは *NULL* を返します。 + codec が例外を発生させたときは *NULL* を返します。 .. versionadded:: 2.6 @@ -462,8 +472,7 @@ ``*byteorder`` が ``-1`` か ``1`` だった場合、すべてのBOMは出力へコピー されます。 (出力では ``\ufeff`` か ``\ufffe`` のどちらかになるでしょう) - デコードを完結した後、*\*byteorder* は入力データの終点現在に - おけるバイトオーダーに設定されます。 + デコードを完了した後、入力データの終端に来た時点でのバイトオーダーを *\*byteorder* にセットします。 *byteorder* が *NULL* の場合、 codec はネイティブバイト整列のモードで開 始します。 @@ -484,7 +493,7 @@ .. versionadded:: 2.4 .. versionchanged:: 2.5 - この関数は以前は *size* の型に :c:type:`int` を利用していました。 + この関数は以前は *size* の型に :c:type:`int` を利用し、 *consumed* の 型に :c:type:`int *` を利用していました。 この変更により、 64bit システムを正しくサポートするには修正が必要にな ります。 @@ -517,16 +526,16 @@ UTF-7 Codecs """""""""""" -以下は UTF-7 コーデックのAPIです。 +以下は UTF-7 codec のAPIです。 .. c:function:: PyObject* PyUnicode_DecodeUTF7(const char *s, Py_ssize_t size, const char *errors) UTF-7 でエンコードされた *size* バイトの文字列 *s* をデコードして Unicode オブジェクトを作成します。 - コーデックが例外を発生させたときは *NULL* を返します。 + codec が例外を発生させたときは *NULL* を返します。 -.. c:function:: PyObject* PyUnicode_DecodeUTF8Stateful(const char *s, Py_ssize_t size, const char *errors, Py_ssize_t *consumed) +.. c:function:: PyObject* PyUnicode_DecodeUTF7Stateful(const char *s, Py_ssize_t size, const char *errors, Py_ssize_t *consumed) *consumed* が *NULL* のとき、 :c:func:`PyUnicode_DecodeUTF7` と同じよう に動作します。 *consumed* が非 *NULL* のとき、末尾の不完全な UTF-7 base-64 部分をエラー としません。 @@ -537,16 +546,12 @@ 与えられたサイズの :c:type:`Py_UNICODE` バッファを UTF-7 でエンコードし て、 Python の bytes オブジェクトとして返します。 - コーデックが例外を発生させたときは *NULL* を返します。 - - If *base64SetO* is nonzero, "Set O" (punctuation that has no otherwise - special meaning) will be encoded in base-64. If *base64WhiteSpace* is - nonzero, whitespace will be encoded in base-64. Both are set to zero for the - Python "utf-7" codec. + codec が例外を発生させたときは *NULL* を返します。 + *base64SetO* が非ゼロのとき、 "Set O" 文字 (他の場合には何も特別な意味を持たない句読点) を base-64 エンコードしま す。 *base64WhiteSpace* が非ゼロのとき、空白文字を base-64 エンコードします。 - Python の "utf-7" コーデックでは、両方ともゼロに設定されています。 + Python の "utf-7" codec では、両方ともゼロに設定されています。 Unicode-Escape Codecs @@ -612,6 +617,7 @@ Raw-Unicode-Escape で Unicode オブジェクトをエンコードし、結果を Python 文字列オブジェクトとして返します。エラー処理は "strict" です。 codec が例外を送出した場合には *NULL* を返します。 + Latin-1 Codecs """""""""""""" @@ -708,7 +714,7 @@ か、ルックアップテーブルとして扱われるunicode文字列です。 文字列(訳注: mappingがunicode文字列として渡された場合)の長さより大きい byte値や、(訳注: mappingにしたがって変換した結果が) - U+FFFE "characters" になる Byte値は、"undefined mapping" として扱われま す。 + U+FFFE "characters" になる Byte値は、"定義されていない対応付け (undefined mapping)" として扱われます。 .. versionchanged:: 2.4 mapping引数としてunicodeが使えるようになりました. @@ -736,7 +742,7 @@ .. c:function:: PyObject* PyUnicode_TranslateCharmap(const Py_UNICODE *s, Py_ssize_t size, PyObject *table, const char *errors) - *で* 指定された長さを持つ :c:type:`Py_UNICODE` バッファを、文字変換マッ プ *table* を適用して変換し、変換結果を Unicode + 指定された長さを持つ :c:type:`Py_UNICODE` バッファを、文字変換マップ *table* を適用して変換し、変換結果を Unicode オブジェクトで返します。codec が例外を発行した場合には *NULL* を返しま す。 対応付けを行う *table* は、 Unicode 序数を表す整数を Unicode 序数を表す 整数または ``None`` に対応付けます。 @@ -750,15 +756,16 @@ この関数は以前は *size* の型に :c:type:`int` を利用していました。 この変更により、 64bit システムを正しくサポートするには修正が必要にな ります。 -MBCS codecs for Windows -""""""""""""""""""""""" - 以下は MBCS codec の API です。この codec は現在のところ、 Windows 上だけで 利用でき、変換の実装には Win32 MBCS 変換機構 (Win32 MBCS converter) を使っています。 MBCS (または DBCS) はエン コード方式の種類 (class) を表す言葉で、単一のエンコード方式を表すわけでなないので注意してください。 利用されるエンコード方式 (target encoding) は、 codec を動作させているマシン上のユーザ設定で定義されています。 +MBCS codecs for Windows +""""""""""""""""""""""" + + .. c:function:: PyObject* PyUnicode_DecodeMBCS(const char *s, Py_ssize_t size, const char *errors) MBCS でエンコードされた *size* バイトの文字列 *s* から Unicode オブジェ クトを生成します。codec が例外を送出した場合には ============================================================================== Revision: bd40112736bd Author: cocoatomo <cocoa****@gmail*****> Date: Tue Apr 19 18:37:23 2011 Log: c-api/unicode.rst translation completed http://code.google.com/p/python-doc-ja/source/detail?r=bd40112736bd Modified: /c-api/unicode.rst ======================================= --- /c-api/unicode.rst Mon Apr 4 17:27:30 2011 +++ /c-api/unicode.rst Tue Apr 19 18:37:23 2011 @@ -2,7 +2,8 @@ 訳語の統一 codec & コーデック, など Unicode: Unicode - codec: 編集すべき数からいって codec にするか? どっちが親切なんだろう? + byte order: バイトオーダー + 専門用語の訳で迷う (codec, endian) など 書式の統一 和文英文の間は 1 つ空白空ける. 句読点 訳文の質上げる @@ -279,13 +280,13 @@ 組み込み codec (built-in codec) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Python では、処理速度を高めるために C で書かれた一揃いの codec を提供してい ます。 -これらの codec は全て以下の関数を介して直接利用できます。 - -以下の API の多くが、 *encoding* と *errors* という二つの引数をとります。こ れらのパラメタは、組み込みの Unicode -オブジェクトコンストラクタである :func:`unicode` における同名のパラメタと同 じセマンティクスになっています。 - -*encoding* を *NULL* にすると、デフォルトエンコーディングである ASCIIを使い ます。ファイルシステムに関する関数の呼び出し +Python には、処理速度を高めるために C で書かれた codec が揃えてあります。 +これら全ての codec は以下の関数を介して直接利用できます。 + +以下の API の多くが、 *encoding* と *errors* という二つの引数をとります。こ れらのパラメータは、組み込みの Unicode +オブジェクトコンストラクタである :func:`unicode` における同名のパラメータと 同じ意味を持ちます。 + +*encoding* を *NULL* にすると、デフォルトエンコーディングである ASCII を使 います。ファイルシステムに関する関数の呼び出し では、ファイル名に対するエンコーディングとし て :c:data:`Py_FileSystemDefaultEncoding` を使わねばなりません。 この変数は読み出し専用の変数として扱わねばなりません: この変数は、あるシス テムによっては静的な文字列に対するポインタで あったり、また別のシステムでは、(アプリケーションが setlocale を読んだとき などに) 変わったりもします。 @@ -297,15 +298,15 @@ 違いだけを説明しています。 -Generic Codecs -"""""""""""""" +汎用 codec +"""""""""" 以下は汎用 codec の API です: .. c:function:: PyObject* PyUnicode_Decode(const char *s, Py_ssize_t size, const char *encoding, const char *errors) 何らかのエンコード方式でエンコードされた、 *size* バイトの文字列 *s* を デコードして Unicode オブジェクトを生成します。 - *encoding* と *errors* は、組み込み関数 unicode() の同名のパラメタと同じ 意味を持ちます。使用する codec の検索は、 + *encoding* と *errors* は、組み込み関数 unicode() の同名のパラメータと同 じ意味を持ちます。使用する codec の検索は、 Python の codec レジストリを使って行います。codec が例外を送出した場合に は *NULL* を返します。 .. versionchanged:: 2.5 @@ -315,7 +316,7 @@ .. c:function:: PyObject* PyUnicode_Encode(const Py_UNICODE *s, Py_ssize_t size, const char *encoding, const char *errors) *size* で指定されたサイズの :c:type:`Py_UNICODE` バッファをエンコードし た Python 文字列オブジェクトを返します。 - *encoding* および *errors* は Unicode 型の :meth:`encode` メソッドに与え る同名のパラメタと + *encoding* および *errors* は Unicode 型の :meth:`encode` メソッドに与え る同名のパラメータと 同じ意味を持ちます。使用する codec の検索は、 Python の codec レジストリ を使って行います。codec が例外を送出した場合には *NULL* を返します。 @@ -326,7 +327,7 @@ .. c:function:: PyObject* PyUnicode_AsEncodedString(PyObject *unicode, const char *encoding, const char *errors) Unicode オブジェクトをエンコードし、その結果を Python 文字列オブジェクト として返します。 *encoding* および *errors* は - Unicode 型の :meth:`encode` メソッドに与える同名のパラメタと同じ意味を持 ちます。使用する codec の検索は、 Python の + Unicode 型の :meth:`encode` メソッドに与える同名のパラメータと同じ意味を 持ちます。使用する codec の検索は、 Python の codec レジストリを使って行います。codec が例外を送出した場合には *NULL* を返します。 @@ -380,23 +381,23 @@ .. c:function:: PyObject* PyUnicode_DecodeUTF32(const char *s, Py_ssize_t size, const char *errors, int *byteorder) - UTF-32 でエンコードされたバッファ文字列から *length* バイトをデコード し、 + UTF-32 でエンコードされたバッファ文字列から *size* バイトをデコードし、 Unicodeオブジェクトとして返します。 - *errors* は(非 *NULL* なら)エラーハンドラを指定します。デフォルト は "strict" です。 - - *byteorder* が非 *NULL* の時、デコーダは与えられたオーダーでデコードを開 始します。 :: + *errors* は (*NULL* でないなら) エラーハンドラを指定します。デフォルト は "strict" です。 + + *byteorder* が *NULL* でない時、デコーダは与えられたバイトオーダーでデ コードを開始します。 :: *byteorder == -1: little endian *byteorder == 0: native order *byteorder == 1: big endian - ``*byteorder`` が 0 で入力データの最初の4バイトがバイトオーダーマーク (BOM)だった場合、 - デコーダーはBOMによってバイトオーダーを切り替え、BOMは結果の unicode 文 字列には含まれません。 - ``*byteorder`` が ``-1`` か ``1`` だった場合、すべてのBOMは出力へコピー されます。 + ``*byteorder`` が 0 で入力データの最初の 4 バイトがバイトオーダーマーク (BOM) だった場合、 + デコーダーは BOM のバイトオーダーに切り替え、 BOM は結果の unicode 文字 列には含まれません。 + ``*byteorder`` が ``-1`` か ``1`` だった場合、すべての BOM は出力へコ ピーされます。 デコードが完了した後、入力データの終端に来た時点でのバイトオーダーを *\*byteorder* にセットします。 - narrow build の場合、BMP外のコードポイントはサロゲートペアとしてデコード されます。 + narrow build の場合、BMP 外のコードポイントはサロゲートペアとしてデコー ドされます。 *byteorder* が *NULL* のとき、 codec は native order モードで開始しま す。 @@ -408,9 +409,9 @@ .. c:function:: PyObject* PyUnicode_DecodeUTF32Stateful(const char *s, Py_ssize_t size, const char *errors, int *byteorder, Py_ssize_t *consumed) *consumed* が *NULL* のとき、 :c:func:`PyUnicode_DecodeUTF32` と同じよう に振る舞います。 - *consumed* が非 *NULL* のとき、 :c:func:`PyUnicode_DecodeUTF32Stateful` は末尾の - 不完全な(4で割り切れない数などの)UTF-32バイト列をエラーとして扱いませ ん。 - 末尾の不完全なバイト列はデコードされず、デコードされたバイトすが *consumed* + *consumed* が *NULL* でないと き、 :c:func:`PyUnicode_DecodeUTF32Stateful` は末尾の + 不完全な (4 で割り切れない長さのバイト列などの) UTF-32 バイト列をエラー として扱いません。 + 末尾の不完全なバイト列はデコードされず、デコードされたバイト数が *consumed* に格納されます。 .. versionadded:: 2.6 @@ -418,18 +419,18 @@ .. c:function:: PyObject* PyUnicode_EncodeUTF32(const Py_UNICODE *s, Py_ssize_t size, const char *errors, int byteorder) - *s* の Unicode データを UTF-32 にエンコードした値を格納した Python の bytes - オブジェクトを返します。 + *s* の Unicode データを UTF-32 にエンコードし、その値を Python の bytes + オブジェクトに格納して返します。 出力は以下のバイトオーダーで従って書かれます。 :: byteorder == -1: little endian - byteorder == 0: native byte order (writes a BOM mark) + byteorder == 0: native byte order (BOM マークあり) byteorder == 1: big endian - byteorder が ``0`` のとき、出力文字列は常にUnicode BOMマーク(U+FEFF)で始 まります。 - それ以外の2つのモードでは、先頭にBOMマークは出力されません。 - - *Py_UNICODE_WIDE* が定義されていないとき、サロゲートペアを1つのコードポ イントとして + byteorder が ``0`` のとき、出力文字列は常に Unicode BOM マーク (U+FEFF) で始まります。 + それ以外の2つのモードでは、先頭に BOM マークは出力されません。 + + *Py_UNICODE_WIDE* が定義されていない場合は、サロゲートペアを 1 つのコー ドポイントとして 出力します。 codec が例外を発生させた場合、 *NULL* を返します。 @@ -439,7 +440,7 @@ .. c:function:: PyObject* PyUnicode_AsUTF32String(PyObject *unicode) - ネイティブバイトオーダーで UTF-32 エンコーディングを使って Python 文字列 を + ネイティブバイトオーダーで UTF-32 エンコーディングされた Python 文字列を 返します。 文字列は常に BOM マークで始まります。 エラーハンドラは "strict" です。 @@ -456,15 +457,15 @@ .. c:function:: PyObject* PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors, int *byteorder) - UTF-16 でエンコードされたバッファ *s* から *size* バイトデコードして、結 果を Unicode オブジェクトで返します。 *errors* + UTF-16 でエンコードされたバッファ *s* から *size* バイトだけデコードし て、結果を Unicode オブジェクトで返します。 *errors* は (*NULL* でない場合) エラー処理方法を定義します。デフォルト値 は "strict" です。 *byteorder* が *NULL* でない場合、デコード機構は以下のように指定されたバ イト整列 (byte order) に従ってデコードを開始 します:: - *byteorder == -1: リトルエンディアン - *byteorder == 0: ネイティブ - *byteorder == 1: ビッグエンディアン + *byteorder == -1: little endian + *byteorder == 0: native order + *byteorder == 1: bit endian ``*byteorder`` が 0 で、入力データの先頭2バイトがバイトオーダーマーク (BOM) だった場合、デコーダは BOM が示すバイトオーダーに切り替え、そのBOMを結果 の Unicode @@ -502,12 +503,12 @@ *s* 中の Unicode データを UTF-16 でエンコードした結果が入っている Python 文字列オブジェクトを返します。 出力は以下のバイトオーダーに従って書き出されます:: - byteorder == -1: リトルエンディアン - byteorder == 0: ネイティブ (BOM マーカを書き出します) - byteorder == 1: ビッグエンディアン - - byteorder が ``0`` の場合、出力結果となる文字列は常に Unicode BOM マーカ - (U+FEFF) で始まります。それ以外のモードでは、 BOM マーカを頭につけませ ん。 + byteorder == -1: little endian + byteorder == 0: native byte order (BOM マークあり) + byteorder == 1: big endian + + byteorder が ``0`` の場合、出力結果となる文字列は常に Unicode BOM マーク + (U+FEFF) で始まります。それ以外のモードでは、 BOM マークを頭につけませ ん。 *Py_UNICODE_WIDE* が定義されている場合、単一の :c:type:`Py_UNICODE` 値は サロゲートペアとして表現されることがあります。 *Py_UNICODE_WIDE* が定義されていなければ、各 :c:type:`Py_UNICODE` 値は UCS-2 文字として表現されます。 @@ -520,13 +521,13 @@ .. c:function:: PyObject* PyUnicode_AsUTF16String(PyObject *unicode) - ネイティブバイトオーダの UTF-16 でエンコードされた Python 文字列を返しま す。文字列は常に BOM マーカから始まります。エラー処理は + ネイティブバイトオーダの UTF-16 でエンコードされた Python 文字列を返しま す。文字列は常に BOM マークから始まります。エラー処理は "strict" です。 codec が例外を送出した場合には *NULL* を返します。 UTF-7 Codecs """""""""""" -以下は UTF-7 codec のAPIです。 +以下は UTF-7 codec の API です。 .. c:function:: PyObject* PyUnicode_DecodeUTF7(const char *s, Py_ssize_t size, const char *errors) @@ -538,7 +539,7 @@ .. c:function:: PyObject* PyUnicode_DecodeUTF7Stateful(const char *s, Py_ssize_t size, const char *errors, Py_ssize_t *consumed) *consumed* が *NULL* のとき、 :c:func:`PyUnicode_DecodeUTF7` と同じよう に動作します。 - *consumed* が非 *NULL* のとき、末尾の不完全な UTF-7 base-64 部分をエラー としません。 + *consumed* が *NULL* でないとき、末尾の不完全な UTF-7 base-64 部分をエ ラーとしません。 不完全な部分のバイト列はデコードせずに、デコードしたバイト数を *consumed* に格納します。 @@ -548,16 +549,16 @@ Python の bytes オブジェクトとして返します。 codec が例外を発生させたときは *NULL* を返します。 - *base64SetO* が非ゼロのとき、 "Set O" 文字 + *base64SetO* がゼロでないとき、 "Set O" 文字 (他の場合には何も特別な意味を持たない句読点) を base-64 エンコードしま す。 - *base64WhiteSpace* が非ゼロのとき、空白文字を base-64 エンコードします。 + *base64WhiteSpace* がゼロでないとき、空白文字を base-64 エンコードしま す。 Python の "utf-7" codec では、両方ともゼロに設定されています。 Unicode-Escape Codecs """"""""""""""""""""""" -以下は "Unicode Escape" codec の APIです: +以下は "Unicode Escape" codec の API です: .. c:function:: PyObject* PyUnicode_DecodeUnicodeEscape(const char *s, Py_ssize_t size, const char *errors) @@ -653,7 +654,7 @@ ASCII Codecs """""""""""" -以下は ASCII codec の APIです: 7 ビットの ASCII データだけを受理します。そ の他のコードはエラーになります。 +以下は ASCII codec の APIです。 7 ビットの ASCII データだけを受理します。そ の他のコードはエラーになります。 .. c:function:: PyObject* PyUnicode_DecodeASCII(const char *s, Py_ssize_t size, const char *errors) @@ -692,10 +693,10 @@ (mapping) を使います。 デコード用のマップ型は、文字列型の字列一組みを、 Unicode 型の字列一組、整 数 (Unicode 序数として解釈されます) または ``None`` -("定義されていない対応付け(undefined mapping)" を意味し、エラーを引き起こし ます) のいずれかに対応付けなければなりません。 - -デコード用のマップ型は、Unicode 型の字列一組みを、 string 型の字列一組、整 数 (Latin-1 序数として解釈されます) または -``None`` ("定義されていない対応付け(undefined mapping)" を意味し、エラーを 引き起こします) の +("定義されていない対応付け (undefined mapping)" を意味し、エラーを引き起こ します) のいずれかに対応付けなければなりません。 + +エンコード用のマップ型は、Unicode 型の字列一組みを、 string 型の字列一組、 整数 (Latin-1 序数として解釈されます) または +``None`` ("定義されていない対応付け (undefined mapping)" を意味し、エラーを 引き起こします) の いずれかに対応付けなければなりません。 マップ型オブジェクトは、 :meth:`__getitem__` マップ型インタフェースをサポー トしなければなりません。 @@ -709,12 +710,12 @@ エンコードされた *size* バイトの文字列 *s* から *mapping* に指定された オブジェクトを使って Unicode オブジェクトを 生成します。codec が例外を送出した場合には *NULL* を返します。 - もし、 *mapping* が *NULL* だった場合、latin-1でデコーディングされます。 それ以外の場合では、 *mapping* はbyteに対する辞書マップ - (訳注: sに含まれる文字のunsignedな値をint型でキーとして、値として変換対 象の Unicode文字を表すUnicode文字列になっているような辞書) - か、ルックアップテーブルとして扱われるunicode文字列です。 - - 文字列(訳注: mappingがunicode文字列として渡された場合)の長さより大きい byte値や、(訳注: mappingにしたがって変換した結果が) - U+FFFE "characters" になる Byte値は、"定義されていない対応付け (undefined mapping)" として扱われます。 + もし、 *mapping* が *NULL* だった場合、latin-1 でデコードされます。それ 以外の場合では、 *mapping* は byte に対する辞書マップ + (訳注: s に含まれる文字の unsigned な値を int 型でキーとして、値として変 換対象の Unicode 文字を表す Unicode 文字列になっているような辞書) + か、ルックアップテーブルとして扱われる Unicode 文字列です。 + + 文字列 (訳注: mapping が Unicode 文字列として渡された場合) の長さより大 きい byte 値や、(訳注: mappingにしたがって変換した結果が) + U+FFFE "characters" になる Byte値は、"定義されていない対応付け (undefined mapping)" として扱われます。 .. versionchanged:: 2.4 mapping引数としてunicodeが使えるようになりました. @@ -858,8 +859,8 @@ .. c:function:: int PyUnicode_Tailmatch(PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction) - *substr* が指定された末尾条件 (*direction* == -1 は前方一致、 *direction* ==1 は後方一致) で - *str*[*start*:*end*] とマッチする場合に 1 を返し、それ以外の場合には 0 を返します。エラーが発生した時は ``-1`` + *substr* が *str*[*start*:*end*] の末端 (*direction* == -1 は先頭一致、 *direction* == 1 は末尾一致) で + とマッチする場合に 1 を返し、それ以外の場合には 0 を返します。エラーが発 生した時は ``-1`` を返します。 .. versionchanged:: 2.5 @@ -899,7 +900,7 @@ .. c:function:: int PyUnicode_Compare(PyObject *left, PyObject *right) - 二つの文字列を比較して、左引数が右引数より小さい場合、左右引数が等価の場 合、左引数が右引数より大きい場合、について、それぞれ -1, 0, 1 を返します。 + 二つの文字列を比較して、左引数が右引数より小さい場合、左右引数が等価の場 合、左引数が右引数より大きい場合に対して、それぞれ -1, 0, 1 を返します。 .. c:function:: int PyUnicode_RichCompare(PyObject *left, PyObject *right, int op) @@ -908,7 +909,7 @@ * ``NULL`` を、例外が発生したときに返します。 * :const:`Py_True` もしくは :const:`Py_False` を、正しく比較できた時に返 します。 - * :const:`Py_NotImplemented` を、leftとrightがのどちらかに対する + * :const:`Py_NotImplemented` を、 *left* と *right* のどちらかに対する :c:func:`PyUnicode_FromObject` が失敗したときに返します。(原文: in case the type combination is unknown) ============================================================================== Revision: 5418ff459748 Author: cocoatomo <cocoa****@gmail*****> Date: Tue Apr 19 18:38:40 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=5418ff459748 Deleted: /library/objects.rst ======================================= --- /library/objects.rst Sun Nov 28 04:51:11 2010 +++ /dev/null @@ -1,28 +0,0 @@ - -.. _builtin: - -******************** -組み込みオブジェクト -******************** - -.. index:: - pair: built-in; types - pair: built-in; exceptions - pair: built-in; functions - pair: built-in; constants - single: symbol table - -組み込み例外名、関数名、各種定数名は専用のシンボルテーブル中に存在していま す。 -シンボル名を参照するときこのシンボルテーブルは最後に参照されるので、 -ユーザーが設定したローカルな名前やグローバルな名前によってオーバーライドす ることができます。 -組み込み型については参照しやすいようにここで説明されています。 - -この章にある表は、オペレータの優先度を昇順に並べて表わしていて、同じ優先度 のオペレータは同じ箱に入れています。 [#]_ -同じ優先度の二項演算子は左から右への結合順序を持っています。 -(単項演算子は右から左へ結合しますが選択の余地はないでしょう。) -オペレータの優先順位についての詳細は :ref:`operator-summary` をごらんくださ い。 - -.. rubric:: Footnotes - -.. [#] 訳者註: HTML版では、変換の過程で表の区切り情報が消えてしまっているの で、PS版やPDF版をごらんください。 -