[JM:02611] Re: ヌル ( Re: [POST:DP] LDP man-pages readdir.3)

アーカイブの一覧に戻る
Akihiro Motoki amoto****@gmail*****
2021年 7月 5日 (月) 09:10:01 JST


On Sun, Jul 4, 2021 at 11:07 AM ribbon <jm****@ribbo*****> wrote:
>
> On Fri, Jul 02, 2021 at 01:51:26PM +0900, Akihiro Motoki wrote:
> > 理由が書かれていませんが、「ヌル終端」と「ヌル文字で終端」は
> > 個人の好みの範囲だと解釈し、そのままにします。
> > 「ヌル文字で終端」とする場合「ヌルバイトで終端」もありますが
> > (実際に両方あります)、どちらがいいかという議論もあります。
> > 「文字」は、ASCII なら「バイト」と一致しますが、
> > マルチバイト文字、ワイド文字もあるので、「ヌル文字」も曖昧だと思っています。
>
> ヌル だと、データベースなどで使う概念、すなわち「値がない」を
> 連想してしまって、ちょっと違うのではないかと思い、指摘した次第です。
>
> NUL だと、 ISO-646 の NUL になるので、「ヌル文字(NUL character)」
> は良いと思うのですけれど。

まず、LDP man-pages に限って話をします。

LDP man-pages における英語での該当部分は以下のようなものがあります。
null byte 162 (string including the terminating null byte のような
null-terminated string 117
null character 7
null wide character 45
それ以外には terminating null, null terminated, null terminating などが少数出てきます。
基本的に null byte が使われていることがわかります。
それ以外は null-terminated になっています。

null byte が基本になっているものの翻訳として「ヌル文字」を当てるのには
個人的に抵抗があります。

また、LDP man-pages の man-pages(7) にガイドラインがあります。
http://linuxjm.osdn.jp/html/LDP_man-pages/man7/man-pages.7.html#lbAW
ここの日本語訳の割り当ては私が行ったものですが、原文を尊重した形になっていて、
他の箇所も全体的にこれに準じた訳を行っているはずです。

一般論としては、man の section 2 と 3 はシステムコールとライブラリ関数なので、
C 言語のマニュアルなのは明らかです。 C 言語の文字列の話をしているので、
null-terminated は終端の null byte であることはほぼ自明で、
「ヌル終端された」でも「ヌルバイト (文字) で終端された」でも
わかりやすさとしての違いはないと思っています。

# null-terminated の訳として、ヌル文字なのかヌルバイトなのかヌルワイド文字
# なのかなどと考えるのが面倒というのもありますが。

現状、上記のような考えから、今の訳になっています。

データベースの「ヌル」を C 言語のマニュアルを読んでいても連想してしまうと
言われる点に関しては、私からのコメントはありません。
上記の man-pages.7 の null byte vs null character のところでも使えるような
名案があれば教えてください。


linuxjm-discuss メーリングリストの案内
アーカイブの一覧に戻る