[Pythonjp-checkins] [python-doc-ja] push by songo****@gmail***** - Update 2.7.2: c-api/unicode on 2011-11-10 23:58 GMT

Zurück zum Archiv-Index

pytho****@googl***** pytho****@googl*****
2011年 11月 11日 (金) 08:59:01 JST


Revision: 77f13ef03833
Author:   Naoki INADA  <inada****@klab*****>
Date:     Thu Nov 10 15:58:46 2011
Log:      Update 2.7.2: c-api/unicode
http://code.google.com/p/python-doc-ja/source/detail?r=77f13ef03833

Modified:
  /c-api/unicode.rst

=======================================
--- /c-api/unicode.rst	Tue Apr 19 18:40:16 2011
+++ /c-api/unicode.rst	Thu Nov 10 15:58:46 2011
@@ -207,6 +207,88 @@
     Unicode オブジェクトでなければ *NULL* を返します。


+.. c:function:: PyObject* PyUnicode_FromStringAndSize(const char *u,  
Py_ssize_t size)
+
+   char 型バッファ *u*  から Unicode オブジェクトを生成します。
+   *u* の内容は UTF-8 エンコードされているものとします。
+   *u* を *NULL* にしてもよく、その場合オブジェクトの内容は未定義で、
+   バッファに必要な情報を埋めるのはユーザの責任です。バッファの内容は新たな 
オブジェクトに
+   コピーされます。バッファが *NULL* でない場合、戻り値は共有されたオブジェ 
クトになることがあります。
+   従って、この関数が返す Unicode オブジェクトを変更してよいのは *u* が  
*NULL* のときだけです。
+
+   .. versionadded:: 2.6
+
+
+.. c:function:: PyObject *PyUnicode_FromString(const char *u)
+
+   UTF-8 エンコードされたNUL文字終端のchar 型バッファ *u* から Unicode オブ 
ジェクトを生成します。
+
+   .. versionadded:: 2.6
+
+
+.. c:function:: PyObject* PyUnicode_FromFormat(const char *format, ...)
+
+   :c:func:`printf` スタイルの *format* 文字列と可変長引数を受け取り、
+   結果の unicode 文字の長さを計算し、フォーマットされた文字列を含む  
unicode オブジェクトを
+   返します。可変長引数は C の型を持っていて、 *format* 文字列で指定された 
書式指定文字に
+   完全に従う必要があります。
+   以下の書式指定文字が利用できます:
+
+    
+-------------------+---------------------+--------------------------------------------+
+   | 書式指定文字      | 型                  | 備 
考                                       |
+    
+===================+=====================+============================================+
+   | :attr:`%%`        | *n/a*               | リテラルの % 文 
字                          |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%c`        | int                 | C言語のintで表現される1文 
字                |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%d`        | int                 | ``printf("%d")`` と全く同 
じ                |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%u`        | unsigned int        | ``printf("%u")`` と全く同 
じ                |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%ld`       | long                | ``printf("%ld")`` と全く同 
じ               |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%lu`       | unsigned long       | ``printf("%lu")`` と全く同 
じ               |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%zd`       | Py_ssize_t          | ``printf("%zd")`` と全く同 
じ               |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%zu`       | size_t              | ``printf("%zu")`` と全く同 
じ               |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%i`        | int                 | ``printf("%i")`` と全く同 
じ                |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%x`        | int                 | ``printf("%x")`` と全く同 
じ                |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%s`        | char\*              | NUL 文字で終わる文字 
列                     |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%p`        | void\*              | C ポインタの16進数表 
現。                   |
+   |                   |                     | ``printf("%p")`` とほぼ同じ 
ですが、        |
+   |                   |                     | プラットフォームの  
``printf`` に依存せず   |
+   |                   |                     | ``0x`` リテラルで始まること 
が保証されます  |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%U`        | PyObject\*          | unicode オブジェク 
ト                       |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%V`        | PyObject\*, char \* | unicode オブジェクト(*NULL*  
でも良い)と、  |
+   |                   |                     | 2つめの引数として NUL 終端 
の C 文字列      |
+   |                   |                     | (2つめの引数は1つめの引数が  
*NULL* だった  |
+   |                   |                     | 時にのみ利用されます 
)                      |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%S`        | PyObject\*          | :func:`PyObject_Unicode` の 
戻り値          |
+    
+-------------------+---------------------+--------------------------------------------+
+   | :attr:`%R`        | PyObject\*          | :func:`PyObject_Repr` の戻り 
値             |
+    
+-------------------+---------------------+--------------------------------------------+
+
+   解釈されない書式指定文字があると、それ以降のフォーマット文字列はそのまま 
出力の文字列にコピーされ、
+   以降の引数は無視されます。
+
+   .. versionadded:: 2.6
+
+
+.. c:function:: PyObject* PyUnicode_FromFormatV(const char *format,  
va_list vargs)
+
+   2引数であることを除いて :c:func:`PyUnicode_FromFormat` と同じです。
+
+   .. versionadded:: 2.6
+
+
  .. c:function:: Py_ssize_t PyUnicode_GetSize(PyObject *unicode)

     Unicode オブジェクトの長さを返します。
@@ -241,11 +323,12 @@
  wchar_t サポート
  """""""""""""""""

-wchar_t をサポートするプラットフォームでの wchar_t サポート:
+:c:type:`wchar_t` をサポートするプラットフォームでの wchar_t サポート:

  .. c:function:: PyObject* PyUnicode_FromWideChar(const wchar_t *w,  
Py_ssize_t size)

-   *size* の :c:type:`wchar_t` バッファ *w* から Unicode オブジェクトを生成 
します。失敗すると *NULL* を返します。
+   *size* の :c:type:`wchar_t` バッファ *w* から Unicode オブジェクトを生成 
します。
+   失敗すると *NULL* を返します。

     .. versionchanged:: 2.5
        この関数は以前は *size* の型に :c:type:`int` を利用していました。
@@ -304,7 +387,8 @@

  .. 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 文字列オブジェクトを返します。
+   *size* で指定されたサイズの :c:type:`Py_UNICODE` バッファ *s* をエンコー 
ドした
+   Python 文字列オブジェクトを返します。
     *encoding* および *errors* は Unicode 型の :meth:`encode` メソッドに与え 
る同名のパラメータと
     同じ意味を持ちます。使用する codec の検索は、 Python の codec レジストリ 
を使って行います。codec が例外を送出した場合には
     *NULL* を返します。
@@ -349,8 +433,9 @@

  .. c:function:: PyObject* PyUnicode_EncodeUTF8(const Py_UNICODE *s,  
Py_ssize_t size, const char *errors)

-   *size* で指定された長さを持つ :c:type:`Py_UNICODE` 型バッファを UTF-8 で 
エンコードし、 Python
-   文字列オブジェクトにして返します。 codec が例外を送出した場合には  
*NULL* を返します。
+   *size* で指定された長さを持つ :c:type:`Py_UNICODE` 型バッファ *s* を  
UTF-8 で
+   エンコードし、 Python 文字列オブジェクトにして返します。
+   codec が例外を送出した場合には *NULL* を返します。

     .. versionchanged:: 2.5
        この関数は以前は *size* の型に :c:type:`int` を利用していました。
@@ -675,8 +760,6 @@
  Character Map Codecs
  """"""""""""""""""""

-以下は mapping codec の APIです:
-
  この codec は、多くの様々な codec を実装する際に使われるという点で特殊な  
codec です (実際、 :mod:`encodings`
  パッケージに入っている標準 codecs のほとんどは、この codec を使っています 
)。この codec は、文字のエンコードやデコードにマップ型
  (mapping) を使います。
@@ -694,6 +777,7 @@
  Latin-1 として解釈されます。このため、codec を実現するマップ型に入れる必要 
がある対応付け関係は、ある文字を別の
  コード点に対応付けるものだけです。

+以下は mapping codec の APIです:

  .. c:function:: PyObject* PyUnicode_DecodeCharmap(const char *s,  
Py_ssize_t size, PyObject *mapping, const char *errors)

@@ -732,8 +816,9 @@

  .. c:function:: PyObject* PyUnicode_TranslateCharmap(const Py_UNICODE *s,  
Py_ssize_t size, PyObject *table, const char *errors)

-   指定された長さを持つ :c:type:`Py_UNICODE` バッファを、文字変換マップ  
*table* を適用して変換し、変換結果を Unicode
-   オブジェクトで返します。codec が例外を発行した場合には *NULL* を返しま 
す。
+   *size* で指定された長さを持つ :c:type:`Py_UNICODE` バッファを、文字変換 
マップ *table*
+   を適用して変換し、変換結果を Unicode オブジェクトで返します。
+   codec が例外を発行した場合には *NULL* を返します。

     対応付けを行う *table* は、 Unicode 序数を表す整数を Unicode 序数を表す 
整数または ``None`` に対応付けます。
     (``None`` の場合にはその文字を削除します)
@@ -746,16 +831,18 @@
        この関数は以前は *size* の型に :c:type:`int` を利用していました。
        この変更により、 64bit システムを正しくサポートするには修正が必要にな 
ります。

+
+.. MBCS codecs for Windows
+
+Windows 用の MBCS codec
+"""""""""""""""""""""""
+
  以下は 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 が例外を送出した場合には
@@ -812,7 +899,8 @@

  .. c:function:: PyObject* PyUnicode_Split(PyObject *s, PyObject *sep,  
Py_ssize_t maxsplit)

-   Unicode 文字列のリストを分割して、 Unicode 文字列からなるリストを返しま 
す。 *sep* が *NULL* の場合、全ての空白文字を使って
+   Unicode 文字列のリストを分割して、 Unicode 文字列からなるリストを返しま 
す。
+   *sep* が *NULL* の場合、全ての空白文字を使って
     分割を行います。それ以外の場合、指定された文字を使って分割を行います。最 
大で *maxsplit* 個までの分割を行います。 *maxsplit*
     が負ならば分割数に制限を設けません。分割結果のリスト内には分割文字は含み 
ません。

@@ -843,12 +931,13 @@

  .. c:function:: PyObject* PyUnicode_Join(PyObject *separator, PyObject  
*seq)

-   指定した *separator* で文字列からなるシーケンスを連結 (join) し、連結結 
果を Unicode 文字列で返します。
+   指定した *separator* で文字列からなるシーケンスを連結 (join) し、
+   連結結果を Unicode 文字列で返します。


  .. c:function:: int PyUnicode_Tailmatch(PyObject *str, PyObject *substr,  
Py_ssize_t start, Py_ssize_t end, int direction)

-   *substr* が *str*[*start*:*end*] の末端 (*direction* == -1 は先頭一致、  
*direction* == 1 は末尾一致) で
+   *substr* が ``str[start:end]`` の末端 (*direction* == -1 は先頭一致、  
*direction* == 1 は末尾一致) で
     とマッチする場合に 1 を返し、それ以外の場合には 0 を返します。エラーが発 
生した時は ``-1``
     を返します。

@@ -859,7 +948,7 @@

  .. c:function:: Py_ssize_t PyUnicode_Find(PyObject *str, PyObject *substr,  
Py_ssize_t start, Py_ssize_t end, int direction)

-   *str*[*start*:*end*] 中に *substr* が最初に出現する場所を返します。この 
とき指定された検索方向 *direction*
+   ``str[start:end]`` 中に *substr* が最初に出現する場所を返します。このと 
き指定された検索方向 *direction*
     (*direction* == 1 は順方向検索、 *direction* == -1 は逆方向検索) で検索 
します。戻り値は最初にマッチが見つかった場所の
     インデクスです; 戻り値 ``-1`` はマッチが見つからなかったことを表し、  
``-2`` はエラーが発生して例外情報が設定されていることを表します。




Pythonjp-checkins メーリングリストの案内
Zurück zum Archiv-Index