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 のところでも使えるような 名案があれば教えてください。