翻訳と辞書
Words near each other
・ Netsky (musician)
・ NetSmart
・ Netsmart Technologies
・ Netsniff-ng
・ NetSolve
・ Netspace
・ NetSpeed
・ NetSpend Corporation
・ NetSPI
・ Netsplit
・ NetSpot
・ Netstal
・ Netstal railway station
・ Netstat
・ Netstep
Netstring
・ NetStumbler
・ Netsuai Hakkakuchū
・ NetSuite
・ Netsuite Open
・ Netsuite Open 2012
・ Netsuite Open 2013
・ Netsuite Open 2014
・ Netsuite Open 2015
・ Netsuke
・ Netsukuku
・ NetSupport Manager
・ NetSurf
・ NetSys
・ Netsys Technologies


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Netstring : ウィキペディア英語版
Netstring
In computer programming, a netstring is a formatting method for byte strings that uses a declarative notation to indicate the size of the string.〔defined in a document by D. J. Bernstein.〕〔See e.g. Python Web Programming
By Steve Holden, David M. Beazley
Published by Sams Publishing, 2002
ISBN 0-7357-1090-2, 978-0-7357-1090-0
691 pages, page 202.〕
Netstrings store the byte length of the data that follows, making it easier to unambiguously pass text and byte data between programs that could be sensitive to values that could be interpreted as delimiters or terminators (such as a null character).
The format consists of the string's length written using ASCII digits, followed by a colon, the byte data, and a comma. "Length" in this context means "number of 8-bit units", so if the string is, for example, encoded using UTF-8, this may or may not be identical to the number of textual characters that are present in the string.
For example, the text "hello world!" encodes as:
<31 32 3a 68 65 6c 6c 6f 20 77 6f 72 6c 64 21 2c>
i.e.
12:hello world!,
And an empty string as:
<30 3a 2c>
i.e.
0:,
The comma makes it slightly simpler for humans to read netstrings that are used as adjacent records, and provides weak verification of correct parsing.
Note that without the comma, the format mirrors how Bencode encodes strings.
Since the format is easy to generate and to parse, it is easy to support by programs written in different programming languages. In practice, netstrings are often used to simplify exchange of bytestrings, or lists of bytestrings.
For example, see its use in the Simple Common Gateway Interface (SCGI) and the Quick Mail Queuing Protocol (QMQP) .
Netstrings avoid complications that arise in trying to embed arbitrary data in delimited formats. For example, XML may not contain certain byte values and requires a nontrivial combination of escaping and delimiting, while generating multipart MIME messages involves choosing a delimiter that must not clash with the content of the data.
Netstrings can be stored recursively. The result of encoding a sequence of strings is a single string. Rewriting the above "hello world!" example to instead be a sequence of two netstrings, itself encoded as a single netstring, gives the following:
17:5:hello,6:world!,,
Parsing such a nested netstring is an example of duck typing, since the contained string ("5:hello,6:world!,") is both a string and a sequence of netstrings. Its effective type is determined by how the application chooses to interpret it, not by any explicit type declaration required by the netstring specification. However, an application could use a tagged union convention to describe the types of nested netstrings, thereby establishing a self-describing hierarchical format.
Note that since netstrings pose no limitations on the contents of the data they store, netstrings can not be embedded verbatim in most delimited formats without the possibility of interfering with the delimiting of the containing format.
In the context of network programming it is potentially useful that the receiving program is informed of the size of the data that follows, as it can allocate exactly enough memory and avoid the need for reallocation to accommodate more data.
==See also==

* Hollerith constant

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Netstring」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.