2410:
buffers of bits for writing to the disk. Conversely Pickle.Read reads buffers of bits from the disk and delivers a copy of the original data structure.(*) This conversion involves identifying the occurrences of addresses in the structure, and arranging that when the structure is read back from disk the addresses are replaced with addresses valid in the current execution environment. The pickle mechanism is entirely automatic: it is driven by the run-time typing structures that are present for our garbage collection mechanism. ... (*) Pickling is quite similar to the concept of marshalling in remote procedure calls. But in fact our pickling implementation works only by interpreting at run-time the structure of
1136:(ISO/IEC 13211-1) on pages 59 ff. ("Writing a term, § 7.10.5"). Therefore it is expected that terms serialized-out by one implementation can be serialized-in by another without ambiguity or surprises. In practice, implementation-specific extensions (e.g. SWI-Prolog's dictionaries) may use non-standard term structures, so interoperability may break in edge cases. As examples, see the corresponding manual pages for SWI-Prolog, SICStus Prolog, GNU Prolog. Whether and how serialized terms received over the network are checked against a specification (after deserialization from the character stream has happened) is left to the implementer. Prolog's built-in
1425:– recreates the original object. This scheme is special, in that it uses a procedural description of the object, not the data itself. It is therefore very flexible, allowing for classes to define more compact representations. However, in its original form, it does not handle cyclic data structures or preserve the identity of shared references (i.e. two references a single object will be restored as references to two equal, but not identical copies). For this, various portable and non-portable alternatives exist. Some of them are specific to a particular Smalltalk implementation or class library. There are several ways in
301:), it is possible for the common code to do both at the same time, and thus, 1) detect differences between the objects being serialized and their prior copies, and 2) provide the input for the next such detection. It is not necessary to actually build the prior copy because differences can be detected on the fly, a technique called differential execution. This is useful in the programming of user interfaces whose contents are time-varying — graphical objects can be created, removed, altered, or made to handle input events without necessarily having to write separate code to do those things.
412:. Such an encoding can be useful for persistent objects that may be read and understood by humans, or communicated to other systems regardless of programming language. It has the disadvantage of losing the more compact, byte-stream-based encoding, but by this point larger storage and transmission capacities made file size less of a concern than in the early days of computing. In the 2000s, XML was often used for asynchronous transfer of structured data between client and server in
932:, this will be invoked when the object is printed. This is somewhat similar to the method used in Ruby. Lisp code itself is written in the syntax of the reader, called read syntax. Most languages use separate and different parsers to deal with code and data, Lisp only uses one. A file containing lisp code may be read into memory as a data structure, transformed by another program, then possibly executed or written out, such as in a
1446:
However, the
Smalltalk/X code is open source and free and can be loaded into other Smalltalks to allow for cross-dialect object interchange. Object serialization is not part of the ANSI Smalltalk specification. As a result, the code to serialize an object varies by Smalltalk implementation. The resulting binary data also varies. For instance, a serialized object created in Squeak Smalltalk cannot be restored in
1097:, respectively, that can clean up and restore an object. For example, it may be desirable to close a database connection on serialization and restore the connection on deserialization; this functionality would be handled in these two magic methods. They also permit the object to pick which properties are serialized. Since PHP 5.1, there is an object-oriented serialization mechanism for objects, the
43:
105:
708:
types, for example, cannot automatically derive Show or Read). The auto-generated instance for Show also produces valid source code, so the same
Haskell value can be generated by running the code produced by show in, for example, a Haskell interpreter. For more efficient serialization, there are haskell libraries that allow high-speed serialization in binary format, e.g.
148:) and reconstructed later (possibly in a different computer environment). When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. For many complex objects, such as those that make extensive use of
2409:
Our implementation makes use of a mechanism called "pickles", which will convert between any strongly typed data structure and a representation of that structure suitable for storing in permanent disk files. The operation Pickle.Write takes a pointer to a strongly typed data structure and delivers
784:
must also be serialized; and if any object in the complete graph of non-transient object references is not serializable, then serialization will fail. The developer can influence this behavior by marking objects as transient, or by redefining the serialization for an object so that some portion of
1445:
info and include mechanisms for "on the fly" object migration (i.e. to convert instances which were written by an older version of a class with a different object layout). The APIs are similar (storeBinary/readBinary), but the encoding details are different, making these two formats incompatible.
707:
function from which a string representation of the object can be generated. The programmer need not define the functions explicitly—merely declaring a type to be deriving Read or deriving Show, or both, can make the compiler generate the appropriate functions for many cases (but not all: function
1616:
It lets you take an object or group of objects, put them on a disk or send them through a wire or wireless transport mechanism, then later, perhaps on another computer, reverse the process, resurrecting the original object(s). The basic mechanisms are to flatten object(s) into a one-dimensional
986:
functions cannot be transmitted across different programs. (There is a flag to marshal the code position of a function but it can only be unmarshalled in exactly the same program). The standard marshalling functions can preserve sharing and handle cyclic data, which can be configured by a flag.
985:
module may break type guarantees, as there is no way to check whether an unmarshalled stream represents objects of the expected type. In OCaml it is difficult to marshal a function or a data structure which contains a function (e.g. an object which contains a method), because executable code in
775:
private members of a class that are not otherwise accessible. Classes containing sensitive information (for example, a password) should not be serializable nor externalizable. The standard encoding method uses a recursive graph-based translation of the object's class descriptor and serializable
768:
Secondly, the serialized state of an object forms part of its class' compatibility contract. Maintaining compatibility between versions of serializable classes requires additional effort and consideration. Therefore, making a class serializable needs to be a deliberate design decision and not a
266:
Inherent to any serialization scheme is that, because the encoding of the data is by definition serial, extracting one part of the serialized data structure requires that the entire object be read from start to end, and reconstructed. In many applications, this linearity is an asset, because it
795:
components do implement the
Serializable interface, they are not guaranteed to be portable between different versions of the Java Virtual Machine. As such, a Swing component, or any component which inherits it, may be serialized to a byte stream, but it is not guaranteed that this will be
737:
interface, but a serializable class can optionally define methods with certain special names and signatures that if defined, will be called as part of the serialization/deserialization process. The language also allows the developer to override the serialization process more thoroughly by
1179:
but unsafe (not secure against erroneous or malicious data) serialization format. Malformed or maliciously constructed data, may cause the deserializer to import arbitrary modules and instantiate any object. The standard library also includes modules serializing to standard data formats:
1525:
cmdlet, which generates a deserialized object from the XML in the exported file. Deserialized objects, often known as "property bags" are not live objects; they are snapshots that have properties, but no methods. Two dimensional data structures can also be (de)serialized in
870:
package offers a more stable alternative, using a documented format and common library with wrappers for different languages, while the default serialization format is suggested to have been designed rather with maximal performance for network communication in mind.
1352:
exception): bindings, procedure objects, instances of class IO, singleton objects and interfaces. If a class requires custom serialization (for example, it requires certain cleanup actions done on dumping / restoring), it can be done by implementing 2 methods:
255:. This means that the simpler and faster procedure of directly copying the memory layout of the data structure cannot work reliably for all architectures. Serializing the data structure in an architecture-independent format means preventing the problems of
267:
enables simple, common I/O interfaces to be utilized to hold and pass on the state of an object. In applications where higher performance is an issue, it can make sense to expend more effort to deal with a more complex, non-linear storage organization.
1450:. Consequently, various applications that do work on multiple Smalltalk implementations that rely on object serialization cannot share data between these different implementations. These applications include the MinneStore object database and some
1372:
object containing all the information necessary to reconstitute objects of this class and all referenced objects up to a maximum depth given as an integer parameter (a value of -1 implies that depth checking should be disabled). The
1710:
Serialization, explained below, is an example of a tool for use by objects within an object system for operating on the graph they are embedded in. This seems to require violating the encapsulation provided by the pure object
1441:. Both provide a so-called "binary-object storage framework", which support serialization into and retrieval from a compact binary form. Both handle cyclic, recursive and shared structures, storage/retrieval of class and
456:
is a strict superset of JSON and includes additional features such as a data type tags, support for cyclic data structures, indentation-sensitive syntax, and multiple forms of scalar data quoting. YAML is an open format.
928:, the printer cannot represent every type of data because it is not clear how to do so. In Common Lisp for example the printer cannot print CLOS objects. Instead the programmer may write a method on the generic function
2455:
Origin of the name 'flattening': Because I want to leave the original 'marshal' module alone, and Jim complained that 'serialization' also means something totally different that's actually relevant in the context of
2460:
access to persistent objects, I'll use the term 'flattening' from now on. ... (The Modula-3 system uses the term 'pickled' data for this concept. They have probably solved all problems already, and in a type-safe
2414:
values, while our RPC implementation works only by generating code for the marshalling of statically typed values. Each facility would benefit from adding the mechanisms of the other, but that has not yet been
1128:. The resulting stream is uncompressed text (in some encoding determined by configuration of the target stream), with any free variables in the term represented by placeholder variable names. The predicate
599:
toolkit for C and C++, are capable of automatically producing serialization code with few or no modifications to class declarations. Other popular serialization frameworks are Boost.Serialization from the
2131:
There are many kinds of serializers; they produce very compact data very fast. There are serializers for messaging, for data stores, for marshaling objects. What is the best serializer in .NET?
274:
objects are too fragile to save because the objects to which they point may be reloaded to a different location in memory. To deal with this, the serialization process includes a step called
65:
493:
For large volume scientific datasets, such as satellite data and output of numerical climate, weather, or ocean models, specific binary serialization standards have been developed, e.g.
1226:, but users can register custom "reduction" and construction functions to support the pickling and unpickling of arbitrary types. Pickle was originally implemented as the pure Python
780:
as well as non-transient, non-static referenced objects are encoded into the stream. Each object that is referenced by the serialized object via a field that is not marked as
733:. Implementing the interface marks the class as "okay to serialize", and Java then handles serialization internally. There are no serialization methods defined on the
247:
For some of these features to be useful, architecture independence must be maintained. For example, for maximal use of distribution, a computer running on a different
2238:
1242:
project. In Python 3, users should always import the standard version, which attempts to import the accelerated version and falls back to the pure Python version.
1034:, there are network safe functions that always store their data in a format that is readable on any computer at a small cost of speed. These functions are named
1014:. Storable includes functions to serialize and deserialize Perl data structures to and from files or Perl scalars. In addition to serializing directly to files,
2290:
820:. Although JSON is originally based on a subset of JavaScript, there are boundary cases where JSON is not valid JavaScript. Specifically, JSON allows the
1340:
1447:
284:, where direct pointer references are converted to references based on name or position. The deserialization process includes an inverse step called
2180:
2660:
426:
is a lightweight plain-text alternative to XML, and is also commonly used for client-server communication in web applications. JSON is based on
591:, as binary data. As such, it is usually trivial to write custom serialization functions. Moreover, compiler-based solutions, such as the ODB
2076:
1490:, or other formats. Default implementations of these protocols can be generated by the compiler for types whose stored properties are also
336:
the serialized data. Yet, interoperability requires that applications be able to understand each other's serialization formats. Therefore,
1206:(with support for the External Data Representation (XDR) standard as described in RFC 1014). Finally, it is recommended that an object's
314:
1960:
2635:
490:
for short, doesn't refer to a single serialization format but instead several different variants, some human-readable and one binary.
565:
family of languages. There are also libraries available that add serialization support to languages that lack native support for it.
2923:
2011:
1552:
648:
provides a built-in mechanism for serialization of components (also called persistent objects), which is fully integrated with its
372:
1137:
2711:
1257:
which writes an ASCII text representation of an R object to a file or connection. A representation can be read from a file using
430:, but is independent of JavaScript and supported in many other programming languages. JSON is an open format, standardized as
313:
by potentially exposing private implementation details. Trivial implementations which serialize all data members may violate
2669:
2126:
952:
740:
229:
17:
2942:
2827:
2542:
Eddelbuettel, Dirk; Stokely, Murray; Ooms, Jeroen (2014). "RProtoBuf: Efficient Cross-Language Data
Serialization in R".
726:
580:
do not provide serialization as any sort of high-level construct, but both languages support writing any of the built-in
2351:
Birrell, Andrew; Jones, Mike; Wobber, Ted (November 1987). "A simple and efficient implementation of a small database".
184:
In networking equipment hardware, the part that is responsible for serialization and deserialization is commonly called
1926:
1152:
649:
605:
754:
91:
1682:
1942:
772:
1348:, that is, they effectively become a sequence of bytes. Some objects cannot be serialized (doing so would raise a
1116:
structure, which is the only data structure of the language, can be serialized out through the built-in predicate
1607:
1409:
In general, non-recursive and non-sharing objects can be stored and retrieved in a human readable form using the
1073:
functions. PHP can serialize any of its data types except resources (file pointers, sockets, etc.). The built-in
588:
2587:
699:
type class defines a function that will extract the data from the string representation of the dumped data. The
2779:
2729:
2378:
271:
164:
31:
1896:
645:
592:
554:
542:
167:
an object in some situations. The opposite operation, extracting a data structure from a series of bytes, is
2494:
443:
2902:
1467:
951:. There are also many serializers by third parties. More than a dozen serializers are discussed and tested
933:
855:
386:
298:
149:
866:
modules, intended to work within the same version of Julia, and/or instance of the same system image. The
2704:
1750:
880:
558:
514:
2686:- Binary serialization with partial and random access, type system, RPC, type adaption, and text format
2655:
2443:
2188:
1265:
serializes an R object to a connection, the output being a raw vector coded in hexadecimal format. The
1168:
1454:
packages. A solution to this problem is SIXX, which is a package for multiple
Smalltalks that uses an
1521:
serializes .NET objects and stores the resulting XML in a file. To reconstitute the objects, use the
1398:
1315:
1214:
1186:(with built-in support for basic scalar and collection types and able to support arbitrary types via
787:
Java does not use constructor to serialize objects. It is possible to serialize Java objects through
660:
534:
400:
In the late 1990s, a push to provide an alternative to the standard serialization protocols started:
157:
153:
133:
125:
2361:
2304:
1250:
1208:
899:. These two parts of the Lisp implementation are called the Printer and the Reader. The output of "
746:
There are three primary reasons why objects are not serializable by default and must implement the
744:
interface, which includes two special methods that are used to save and restore the object's state.
721:
573:
494:
73:
69:
53:
1187:
1577:
1547:
409:
2431:
1611:
1077:
function is often dangerous when used on completely untrusted data. For objects, there are two "
634:
2742:
2697:
2609:
2356:
2299:
1527:
608:(Microsoft) also provides serialization methodology as part of its Document-View architecture.
233:
2161:
1176:
2817:
2683:
1451:
601:
530:
378:
248:
218:
2947:
2457:
1572:
321:
260:
2512:
293:
Since both serializing and deserializing can be driven from common code (for example, the
8:
2757:
2051:
1078:
1026:
to deserialize such a scalar. This is useful for sending a complex data structure over a
777:
625:
2077:"faster and more compact serialization of symbols and strings · JuliaLang/julia@bb67ff2"
2015:
1042:, etc. There are no "n" functions for deserializing these structures — the regular
752:
Firstly, not all objects capture useful semantics in a serialized state. For example, a
2767:
2569:
2551:
2400:
2333:
2282:
1506:
691:
In
Haskell, serialization is supported for types that are members of the Read and Show
479:
413:
310:
259:, memory layout, or simply different ways of representing data structures in different
61:
2256:
2220:
2202:
1848:
1701:
1482:), which allow instances of conforming types to be serialized to or deserialized from
2411:
2392:
2384:
2374:
2325:
2317:
1922:
1293:
843:
to appear unescaped in quoted strings, while ECMAScript 2018 and older does not. See
427:
286:
145:
2573:
2404:
2353:
Proceedings of the eleventh ACM Symposium on
Operating systems principles - SOSP '87
1320:
1234:
module (also a built-in) offers improved performance (up to 1000 times faster). The
1175:
that records the instructions used to reconstruct the object. It is a cross-version
381:
Courier technology in the early 1980s influenced the first widely adopted standard.
2886:
2561:
2427:
2366:
2337:
2309:
1567:
1562:
1557:
1304:
1219:
844:
730:
676:
435:
382:
2737:
2673:
2666:
2274:
2037:
1617:
stream of bits, and to turn that stream of bits back into the original object(s).
1421:
method generates the text of a
Smalltalk expression which – when evaluated using
1362:
1239:
1212:
be evaluable in the right environment, making it a rough match for Common Lisp's
1172:
526:
329:
212:
2476:
1192:
891:". A variable foo containing, for example, a list of arrays would be printed by
439:
2861:
2762:
2278:
2108:
1629:
1218:. Not all object types can be pickled automatically, especially ones that hold
1027:
944:
585:
562:
360:
251:
should be able to reliably reconstruct a serialized data stream, regardless of
121:
2678:
1202:
2936:
2891:
2881:
2774:
2720:
2477:"11.1. pickle — Python object serialization — Python 2.7.14rc1 documentation"
2396:
2388:
2321:
1510:
1487:
1197:
460:
356:
256:
177:
129:
2329:
1437:
serializers. In addition, bundled objects can be stored and retrieved using
1182:
709:
652:. The component's contents are saved to a DFM file and reloaded on-the-fly.
1374:
1022:
function to return a serialized copy of the data packed into a scalar, and
792:
581:
348:
325:
2565:
1133:
936:. Not all readers/writers support cyclic, recursive or shared structures.
821:
447:
2876:
2871:
2834:
2809:
2313:
1587:
1334:
1223:
925:
903:" is human readable; it uses lists demarked by parentheses, for example:
550:
390:
320:
To discourage competitors from making compatible products, publishers of
276:
141:
137:
2689:
2370:
720:
Java provides automatic serialization which requires that the object be
2907:
805:
692:
333:
252:
2595:
2143:
2094:
1724:
1657:
1442:
1269:
function allows to read an object from a connection or a raw vector.
956:
948:
538:
201:
2495:"pickle — Python object serialization — Python v3.0.1 documentation"
1787:
431:
394:
2439:
1582:
464:
337:
208:
72:
external links, and converting useful links where appropriate into
30:
This article is about data structure encoding. For other uses, see
2556:
1872:
1823:
1683:"Python 3.9.6 documentation - Python object serialization —pickle"
981:. While OCaml programming is statically type-checked, uses of the
324:
often keep the details of their programs' serialization formats a
2747:
1943:"Ask TOM "Serializing Java Objects into the database (and ge...""
468:
1397:
is the most widely used library, or crate, for serialization in
104:
2896:
2854:
2844:
2839:
1426:
1109:
498:
417:
416:
web applications. XML is an open format, and standardized as a
352:
185:
1805:
1429:
to serialize and store objects. The easiest and most used are
1030:
or storing it in a database. When serializing structures with
347:
Many institutions, such as archives and libraries, attempt to
2822:
2784:
1277:
966:
596:
577:
472:
341:
237:
2912:
2866:
2849:
2799:
2789:
2752:
1483:
999:
995:
895:. Similarly an object can be read from a stream named s by
788:
672:
664:
630:
620:
616:
502:
453:
423:
405:
222:
2095:"HDF5.jl: Saving and loading data in the HDF5 file format"
1065:
originally implemented serialization through the built-in
2794:
1608:"C++ FAQ: "What's This "Serialization" Thing All About?""
1455:
1062:
759:
668:
546:
476:
401:
200:
serializing data for transfer across wires and networks (
2513:"What's New In Python 3.0 — Python v3.1.5 documentation"
152:, this process is not straightforward. Serialization of
2541:
1985:
1303:
provides cross-language data serialization in R, using
1081:
methods" that can be implemented within a class —
671:
data. There are also third-party modules that support
2291:
2283:"A Value Transmission Method for Abstract Data Types"
1230:
module, but, in versions of Python prior to 3.0, the
969:'s standard library provides marshalling through the
883:
data structure can be serialized with the functions "
163:
This process of serializing an object is also called
1393:
1054:" functions and their machine-specific equivalents.
785:
the reference graph is truncated and not serialized.
2109:"Julia: how stable are serialize() / deserialize()"
1770:"s11n.net: object serialization/persistence in C++"
1769:
1292:). Strings and files can be deserialized using the
750:
interface to access Java's serialization mechanism.
2350:
1120:and serialized-in through the built-in predicates
2471:
2469:
140:in primary storage devices) or transmitted (e.g.
56:may not follow Knowledge's policies or guidelines
2934:
1722:
1344:. These methods serialize to the standard class
1148:The core general serialization mechanism is the
533:for doing so. The languages which do so include
663:natively supports unmarshalling/marshalling of
508:
2466:
1155:module, alluding to the database systems term
762:. There is no context in which a deserialized
344:define their serialization formats in detail.
2705:
2273:
408:subset, was used to produce a human-readable
128:state into a format that can be stored (e.g.
2436:Python Programming Language – Legacy Website
2195:
2009:
1919:"Effective Java: Programming Language Guide"
1725:"XDR: External Data Representation Standard"
1050:deserialize structures serialized with the "
1002:provide serialization mechanisms, including
2661:Java 1.4 Object Serialization documentation
1824:"GitHub - YAML support for the Go language"
1702:"Safe Serialization Under Mutual Suspicion"
1687:Documentation - The Python Standard Library
771:Lastly, serialization allows access to non-
758:object is tied to the state of the current
619:allows data structures to be serialized to
2712:
2698:
2426:
2719:
2614:SIXX - Smalltalk Instance eXchange in XML
2555:
2360:
2303:
2014:. The timeless repository. Archived from
2003:
1873:"gob package - encoding/gob - pkg.go.dev"
1470:standard library provides two protocols,
156:does not include any of their associated
92:Learn how and when to remove this message
2924:Comparison of data-serialization formats
2012:"JSON: The JavaScript subset that isn't"
1553:Comparison of data serialization formats
373:Comparison of data serialization formats
366:
160:with which they were previously linked.
103:
2656:Java Object Serialization documentation
1652:
1650:
766:object would maintain useful semantics.
309:Serialization breaks the opacity of an
243:detecting changes in time-varying data.
14:
2935:
1332:, akin to the standard Unix utilities
1196:(with support for both binary and XML
791:and store them into a database. While
2693:
2178:
1916:
1910:
1699:
1509:implements serialization through the
1501:
858:implements serialization through the
796:re-constitutable on another machine.
695:. Every type that is a member of the
2636:"Swift Archival & Serialization"
2162:"PHP: Object Serialization - Manual"
2097:. 20 August 2017 – via GitHub.
1647:
1433:and binary storage formats based on
1384:and return an object of this class.
1089: — that are called from within
973:module and the Pervasives functions
947:has several serializers designed by
738:implementing another interface, the
359:—by storing them in some relatively
270:Even on a single machine, primitive
230:component-based software engineering
228:distributing objects, especially in
36:
27:Conversion process for computer data
2181:"Shocking News in PHP Exploitation"
2040:. ECMA TC39 committee. 22 May 2018.
924:. In many types of Lisp, including
24:
2355:. Vol. 11. pp. 149–154.
1921:(third ed.). Addison-Wesley.
1530:format using the built-in cmdlets
703:type class, in turn, contains the
604:, the S11n framework, and Cereal.
120:) is the process of translating a
25:
2959:
2649:
1605:
1458:-based format for serialization.
939:
529:elements or providing a standard
1767:
1159:to describe data serialization (
41:
2628:
2602:
2580:
2544:Journal of Statistical Software
2535:
2529:
2523:
2505:
2487:
2420:
2344:
2267:
2249:
2231:
2213:
2172:
2154:
2136:
2119:
2101:
2087:
2069:
2044:
2030:
1978:
1953:
1935:
1889:
1865:
1841:
1816:
1798:
904:
196:Uses of serialization include:
1780:
1761:
1743:
1716:
1693:
1675:
1630:"Module: Marshal (Ruby 3.0.2)"
1622:
1599:
1261:. More specific, the function
1140:can be applied at that stage.
463:are used for serialization by
32:Serialization (disambiguation)
13:
1:
2179:Esser, Stephen (2009-11-28).
2038:"TC39 Proposal: Subsume JSON"
1593:
1318:includes the standard module
799:
2239:""write_term/[2,3]""
2221:""Term reading and writing""
2203:"PHP: Serializable - Manual"
2010:Holm, Magnus (15 May 2011).
1404:
1134:ISO Specification for Prolog
568:
509:Programming language support
387:External Data Representation
304:
299:Microsoft Foundation Classes
7:
2667:Durable Java: Serialization
2432:"Flattening Python Objects"
1541:
1188:encoding and decoding hooks
776:fields into a byte stream.
517:languages directly support
515:object-oriented programming
10:
2964:
2943:Data serialization formats
2679:XML Data Binding Resources
2444:Python Software Foundation
808:has included the built-in
686:
370:
29:
2921:
2808:
2728:
1897:"Text.Show Documentation"
1723:Sun Microsystems (1987).
1143:
1104:
640:
389:(XDR) in 1987. XDR is an
134:secondary storage devices
2672:25 November 2005 at the
1461:
1280:will serialize to file (
1272:
1167:). Pickle uses a simple
1138:Definite Clause Grammars
961:
850:
845:the main article on JSON
822:Unicode line terminators
355:archives—in particular,
1731:. Network Working Group
1578:Google Protocol Buffers
1548:Commutation (telemetry)
1387:
1310:
1132:is standardized in the
998:modules available from
989:
874:
812:object and its methods
715:
611:
595:system for C++ and the
191:
2588:"MinneStore version 2"
1917:Bloch, Joshua (2018).
1478:(composed together as
1057:
804:Since ECMAScript 5.1,
393:, and standardized as
340:architectures such as
219:remote procedure calls
109:
2566:10.18637/jss.v071.i02
2257:""Term input/output""
2144:"SERBENCH by aumcode"
1238:was adapted from the
655:
379:Xerox Network Systems
367:Serialization formats
261:programming languages
249:hardware architecture
107:
2314:10.1145/69622.357182
1849:"proto · pkg.go.dev"
1788:"cereal Docs - Main"
1573:Basic Encoding Rules
1245:
934:read–eval–print loop
727:java.io.Serializable
724:by implementing the
519:object serialization
328:. Some deliberately
322:proprietary software
62:improve this article
18:Object serialization
2430:(1 December 1994).
2371:10.1145/41457.37517
841:PARAGRAPH SEPARATOR
679:. Go also supports
410:text-based encoding
363:serialized format.
282:pointer unswizzling
74:footnote references
2225:www.swi-prolog.org
2127:".NET Serializers"
2056:The Julia Language
1806:"Package encoding"
1507:Windows PowerShell
1502:Windows PowerShell
1431:storeOn:/readFrom:
769:default condition.
448:ISO/IEC 21778:2017
418:W3C recommendation
338:remote method call
311:abstract data type
110:
2930:
2929:
2616:. 23 January 2010
2442:, United States:
2428:van Rossum, Guido
2412:dynamically typed
2148:aumcode.github.io
2113:stackoverflow.com
1947:asktom.oracle.com
1792:uscilab.github.io
1700:S. Miller, Mark.
1606:Cline, Marshall.
1253:has the function
428:JavaScript syntax
287:pointer swizzling
207:storing data (in
146:computer networks
102:
101:
94:
16:(Redirected from
2955:
2887:Protocol Buffers
2714:
2707:
2700:
2691:
2690:
2644:
2643:
2632:
2626:
2625:
2623:
2621:
2606:
2600:
2599:
2594:. Archived from
2584:
2578:
2577:
2559:
2539:
2533:
2527:
2521:
2520:
2509:
2503:
2502:
2491:
2485:
2484:
2473:
2464:
2463:
2452:
2450:
2424:
2418:
2417:
2364:
2348:
2342:
2341:
2307:
2287:
2281:(October 1982).
2275:Herlihy, Maurice
2271:
2265:
2264:
2253:
2247:
2246:
2235:
2229:
2228:
2217:
2211:
2210:
2199:
2193:
2192:
2187:. Archived from
2176:
2170:
2169:
2158:
2152:
2151:
2140:
2134:
2133:
2123:
2117:
2116:
2105:
2099:
2098:
2091:
2085:
2084:
2073:
2067:
2066:
2064:
2062:
2048:
2042:
2041:
2034:
2028:
2027:
2025:
2023:
2007:
2001:
2000:
1998:
1996:
1982:
1976:
1975:
1973:
1971:
1957:
1951:
1950:
1939:
1933:
1932:
1914:
1908:
1907:
1905:
1903:
1893:
1887:
1886:
1884:
1883:
1869:
1863:
1862:
1860:
1859:
1845:
1839:
1838:
1836:
1834:
1820:
1814:
1813:
1802:
1796:
1795:
1784:
1778:
1777:
1765:
1759:
1758:
1747:
1741:
1740:
1738:
1736:
1720:
1714:
1713:
1697:
1691:
1690:
1679:
1673:
1672:
1670:
1668:
1654:
1645:
1644:
1642:
1640:
1626:
1620:
1619:
1610:. Archived from
1603:
1563:Hibernate (Java)
1558:Container format
1537:
1533:
1524:
1520:
1516:
1497:
1493:
1481:
1477:
1473:
1448:Ambrai Smalltalk
1440:
1436:
1432:
1427:Squeak Smalltalk
1424:
1420:
1416:
1412:
1396:
1383:
1379:
1371:
1368:should return a
1367:
1360:
1356:
1351:
1347:
1343:
1337:
1331:
1327:
1323:
1305:Protocol Buffers
1302:
1298:
1291:
1287:
1283:
1268:
1264:
1260:
1256:
1237:
1233:
1229:
1220:operating system
1217:
1211:
1205:
1195:
1185:
1153:standard library
1151:
1131:
1127:
1123:
1119:
1100:
1096:
1092:
1088:
1084:
1076:
1072:
1068:
1053:
1049:
1045:
1041:
1037:
1033:
1025:
1021:
1017:
1013:
1009:
1005:
984:
980:
976:
972:
931:
923:
922:
919:
916:
913:
910:
907:
902:
898:
894:
890:
886:
869:
865:
861:
842:
839:
837:
832:
829:
827:
819:
818:JSON.stringify()
815:
811:
783:
765:
757:
749:
743:
736:
729:
706:
702:
698:
677:Protocol Buffers
628:
383:Sun Microsystems
213:hard disk drives
97:
90:
86:
83:
77:
45:
44:
37:
21:
2963:
2962:
2958:
2957:
2956:
2954:
2953:
2952:
2933:
2932:
2931:
2926:
2917:
2804:
2724:
2718:
2674:Wayback Machine
2652:
2647:
2634:
2633:
2629:
2619:
2617:
2608:
2607:
2603:
2598:on 11 May 2008.
2586:
2585:
2581:
2540:
2536:
2530:
2524:
2517:docs.python.org
2511:
2510:
2506:
2499:docs.python.org
2493:
2492:
2488:
2481:docs.python.org
2475:
2474:
2467:
2461:manner :-)
2448:
2446:
2425:
2421:
2381:
2362:10.1.1.100.1457
2349:
2345:
2285:
2279:Liskov, Barbara
2272:
2268:
2255:
2254:
2250:
2243:sicstus.sics.se
2237:
2236:
2232:
2219:
2218:
2214:
2201:
2200:
2196:
2177:
2173:
2160:
2159:
2155:
2142:
2141:
2137:
2125:
2124:
2120:
2107:
2106:
2102:
2093:
2092:
2088:
2075:
2074:
2070:
2060:
2058:
2052:"Serialization"
2050:
2049:
2045:
2036:
2035:
2031:
2021:
2019:
2008:
2004:
1994:
1992:
1984:
1983:
1979:
1969:
1967:
1959:
1958:
1954:
1941:
1940:
1936:
1929:
1915:
1911:
1901:
1899:
1895:
1894:
1890:
1881:
1879:
1871:
1870:
1866:
1857:
1855:
1847:
1846:
1842:
1832:
1830:
1822:
1821:
1817:
1812:. 12 July 2021.
1804:
1803:
1799:
1786:
1785:
1781:
1768:beal, stephan.
1766:
1762:
1751:"Serialization"
1749:
1748:
1744:
1734:
1732:
1721:
1717:
1698:
1694:
1681:
1680:
1676:
1666:
1664:
1656:
1655:
1648:
1638:
1636:
1628:
1627:
1623:
1614:on 2015-04-05.
1604:
1600:
1596:
1544:
1535:
1531:
1522:
1518:
1514:
1504:
1495:
1491:
1479:
1475:
1471:
1464:
1438:
1434:
1430:
1422:
1418:
1414:
1410:
1407:
1392:
1390:
1381:
1377:
1369:
1365:
1363:instance method
1358:
1354:
1349:
1345:
1339:
1333:
1329:
1325:
1324:with 2 methods
1319:
1313:
1300:
1296:
1289:
1285:
1281:
1275:
1266:
1262:
1258:
1254:
1248:
1240:Unladen Swallow
1235:
1231:
1227:
1222:resources like
1213:
1207:
1201:
1191:
1181:
1173:virtual machine
1149:
1146:
1129:
1125:
1121:
1117:
1107:
1098:
1094:
1090:
1086:
1082:
1074:
1070:
1066:
1060:
1051:
1047:
1043:
1039:
1035:
1031:
1023:
1019:
1015:
1011:
1007:
1003:
992:
982:
978:
974:
970:
964:
942:
929:
920:
917:
914:
911:
908:
905:
900:
896:
892:
888:
884:
877:
867:
863:
859:
853:
840:
835:
834:
830:
825:
824:
817:
813:
809:
802:
786:
781:
770:
767:
763:
753:
751:
747:
745:
739:
734:
725:
718:
704:
700:
696:
689:
658:
643:
635:SerializeJSON()
624:
614:
602:Boost Framework
571:
527:syntactic sugar
523:object archival
511:
375:
369:
307:
194:
173:unserialization
171:, (also called
169:deserialization
98:
87:
81:
78:
59:
50:This article's
46:
42:
35:
28:
23:
22:
15:
12:
11:
5:
2961:
2951:
2950:
2945:
2928:
2927:
2922:
2919:
2918:
2916:
2915:
2910:
2905:
2900:
2894:
2889:
2884:
2879:
2874:
2869:
2864:
2859:
2858:
2857:
2847:
2842:
2837:
2832:
2831:
2830:
2820:
2814:
2812:
2806:
2805:
2803:
2802:
2797:
2792:
2787:
2782:
2777:
2772:
2771:
2770:
2765:
2760:
2758:Web Encryption
2750:
2745:
2740:
2734:
2732:
2730:Human readable
2726:
2725:
2717:
2716:
2709:
2702:
2694:
2688:
2687:
2681:
2676:
2664:
2658:
2651:
2650:External links
2648:
2646:
2645:
2640:www.github.com
2627:
2601:
2579:
2534:
2528:
2522:
2504:
2486:
2465:
2419:
2379:
2343:
2305:10.1.1.87.5301
2298:(4): 527–551.
2266:
2248:
2230:
2212:
2194:
2191:on 2012-01-06.
2171:
2153:
2135:
2118:
2100:
2086:
2068:
2043:
2029:
2018:on 13 May 2012
2002:
1977:
1952:
1934:
1928:978-0134685991
1927:
1909:
1888:
1864:
1840:
1815:
1797:
1779:
1760:
1742:
1715:
1692:
1674:
1646:
1621:
1597:
1595:
1592:
1591:
1590:
1585:
1580:
1575:
1570:
1565:
1560:
1555:
1550:
1543:
1540:
1503:
1500:
1488:property lists
1463:
1460:
1435:SmartRefStream
1417:protocol. The
1406:
1403:
1389:
1386:
1380:should take a
1312:
1309:
1274:
1271:
1247:
1244:
1145:
1142:
1106:
1103:
1059:
1056:
1028:network socket
991:
988:
963:
960:
945:.NET Framework
941:
940:.NET Framework
938:
876:
873:
852:
849:
831:LINE SEPARATOR
801:
798:
741:Externalizable
717:
714:
688:
685:
657:
654:
642:
639:
626:<cfwddx>
613:
610:
586:plain old data
570:
567:
510:
507:
501:and the older
461:Property lists
385:published the
371:Main article:
368:
365:
361:human-readable
357:database dumps
306:
303:
245:
244:
241:
226:
221:, e.g., as in
216:
205:
193:
190:
122:data structure
112:In computing,
100:
99:
54:external links
49:
47:
40:
26:
9:
6:
4:
3:
2:
2960:
2949:
2946:
2944:
2941:
2940:
2938:
2925:
2920:
2914:
2911:
2909:
2906:
2904:
2901:
2898:
2895:
2893:
2890:
2888:
2885:
2883:
2882:Property list
2880:
2878:
2875:
2873:
2870:
2868:
2865:
2863:
2860:
2856:
2853:
2852:
2851:
2848:
2846:
2843:
2841:
2838:
2836:
2833:
2829:
2826:
2825:
2824:
2821:
2819:
2816:
2815:
2813:
2811:
2807:
2801:
2798:
2796:
2793:
2791:
2788:
2786:
2783:
2781:
2778:
2776:
2775:Property list
2773:
2769:
2768:Web Signature
2766:
2764:
2761:
2759:
2756:
2755:
2754:
2751:
2749:
2746:
2744:
2741:
2739:
2736:
2735:
2733:
2731:
2727:
2722:
2721:Data exchange
2715:
2710:
2708:
2703:
2701:
2696:
2695:
2692:
2685:
2682:
2680:
2677:
2675:
2671:
2668:
2665:
2662:
2659:
2657:
2654:
2653:
2642:. 2018-12-02.
2641:
2637:
2631:
2615:
2611:
2605:
2597:
2593:
2589:
2583:
2575:
2571:
2567:
2563:
2558:
2553:
2549:
2545:
2538:
2532:
2526:
2518:
2514:
2508:
2500:
2496:
2490:
2482:
2478:
2472:
2470:
2462:
2459:
2445:
2441:
2437:
2433:
2429:
2423:
2416:
2413:
2406:
2402:
2398:
2394:
2390:
2386:
2382:
2376:
2372:
2368:
2363:
2358:
2354:
2347:
2339:
2335:
2331:
2327:
2323:
2319:
2315:
2311:
2306:
2301:
2297:
2293:
2292:
2284:
2280:
2276:
2270:
2262:
2258:
2252:
2244:
2240:
2234:
2226:
2222:
2216:
2208:
2204:
2198:
2190:
2186:
2182:
2175:
2167:
2163:
2157:
2149:
2145:
2139:
2132:
2128:
2122:
2114:
2110:
2104:
2096:
2090:
2082:
2078:
2072:
2057:
2053:
2047:
2039:
2033:
2017:
2013:
2006:
1991:
1987:
1981:
1966:
1962:
1956:
1948:
1944:
1938:
1930:
1924:
1920:
1913:
1898:
1892:
1878:
1874:
1868:
1854:
1850:
1844:
1829:
1825:
1819:
1811:
1807:
1801:
1793:
1789:
1783:
1775:
1771:
1764:
1756:
1755:www.boost.org
1752:
1746:
1730:
1726:
1719:
1712:
1707:
1703:
1696:
1688:
1684:
1678:
1663:
1659:
1653:
1651:
1635:
1631:
1625:
1618:
1613:
1609:
1602:
1598:
1589:
1586:
1584:
1581:
1579:
1576:
1574:
1571:
1569:
1566:
1564:
1561:
1559:
1556:
1554:
1551:
1549:
1546:
1545:
1539:
1529:
1523:Import-CliXML
1519:Export-CliXML
1515:Export-CliXML
1512:
1508:
1499:
1489:
1485:
1469:
1459:
1457:
1453:
1449:
1444:
1439:ImageSegments
1428:
1402:
1400:
1395:
1385:
1376:
1364:
1342:
1336:
1322:
1317:
1308:
1306:
1295:
1279:
1270:
1252:
1243:
1241:
1225:
1221:
1216:
1210:
1204:
1199:
1198:property list
1194:
1189:
1184:
1178:
1174:
1170:
1166:
1165:deserializing
1162:
1158:
1154:
1141:
1139:
1135:
1115:
1111:
1102:
1095:unserialize()
1080:
1075:unserialize()
1071:unserialize()
1064:
1055:
1029:
1018:includes the
1001:
997:
987:
968:
959:
958:
954:
950:
946:
937:
935:
927:
915:"x"
882:
872:
864:deserialize()
857:
848:
846:
823:
807:
797:
794:
790:
779:
774:
761:
756:
742:
732:
728:
723:
713:
711:
694:
684:
682:
678:
674:
670:
666:
662:
653:
651:
647:
638:
636:
632:
627:
622:
618:
609:
607:
606:MFC framework
603:
598:
594:
590:
587:
584:, as well as
583:
579:
575:
566:
564:
560:
556:
552:
548:
544:
540:
536:
532:
528:
525:), either by
524:
520:
516:
506:
504:
500:
496:
491:
489:
485:
484:Property list
481:
478:
474:
470:
466:
462:
458:
455:
451:
449:
445:
441:
437:
433:
429:
425:
421:
419:
415:
411:
407:
403:
398:
396:
392:
388:
384:
380:
374:
364:
362:
358:
354:
350:
345:
343:
339:
335:
331:
327:
323:
318:
316:
315:encapsulation
312:
302:
300:
296:
291:
289:
288:
283:
279:
278:
273:
268:
264:
262:
258:
257:byte ordering
254:
250:
242:
239:
235:
231:
227:
224:
220:
217:
214:
210:
206:
203:
199:
198:
197:
189:
187:
182:
180:
179:
178:unmarshalling
174:
170:
166:
161:
159:
155:
151:
147:
143:
139:
135:
131:
127:
123:
119:
118:serialisation
115:
114:serialization
106:
96:
93:
85:
75:
71:
70:inappropriate
67:
63:
57:
55:
48:
39:
38:
33:
19:
2639:
2630:
2618:. Retrieved
2613:
2610:"What's new"
2604:
2596:the original
2591:
2582:
2547:
2543:
2537:
2531:
2525:
2516:
2507:
2498:
2489:
2480:
2454:
2447:. Retrieved
2435:
2422:
2408:
2352:
2346:
2295:
2289:
2269:
2260:
2251:
2242:
2233:
2224:
2215:
2206:
2197:
2189:the original
2184:
2174:
2165:
2156:
2147:
2138:
2130:
2121:
2112:
2103:
2089:
2080:
2071:
2059:. Retrieved
2055:
2046:
2032:
2022:23 September
2020:. Retrieved
2016:the original
2005:
1993:. Retrieved
1990:www.json.org
1989:
1980:
1968:. Retrieved
1965:MDN Web Docs
1964:
1955:
1946:
1937:
1918:
1912:
1900:. Retrieved
1891:
1880:. Retrieved
1876:
1867:
1856:. Retrieved
1852:
1843:
1831:. Retrieved
1827:
1818:
1809:
1800:
1791:
1782:
1773:
1763:
1754:
1745:
1733:. Retrieved
1728:
1718:
1709:
1705:
1695:
1686:
1677:
1665:. Retrieved
1661:
1637:. Retrieved
1634:ruby-doc.org
1633:
1624:
1615:
1612:the original
1601:
1505:
1465:
1408:
1391:
1375:class method
1314:
1276:
1249:
1224:file handles
1215:print-object
1177:customisable
1164:
1160:
1156:
1147:
1130:write_term/3
1118:write_term/3
1113:
1108:
1099:Serializable
1061:
993:
975:output_value
965:
943:
930:print-object
879:Generally a
878:
854:
814:JSON.parse()
803:
748:Serializable
735:Serializable
719:
693:type classes
690:
680:
659:
644:
615:
572:
522:
518:
512:
492:
487:
483:
459:
452:
422:
399:
397:(RFC 4506).
376:
349:future proof
346:
326:trade secret
319:
308:
297:function in
294:
292:
285:
281:
275:
269:
265:
246:
195:
183:
176:
172:
168:
162:
142:data streams
138:data buffers
117:
113:
111:
108:Flow diagram
88:
79:
64:by removing
51:
2948:Persistence
2877:MessagePack
2872:FlatBuffers
2862:Cap'n Proto
2592:SourceForge
2261:gprolog.org
2207:www.php.net
1706:ERights.org
1588:Apache Avro
1294:polymorphic
1267:unserialize
1126:read_term/2
1101:interface.
1091:serialize()
1067:serialize()
979:input_value
926:Common Lisp
893:(print foo)
860:serialize()
629:tag and to
551:Objective-C
391:open format
277:unswizzling
165:marshalling
82:August 2024
2937:Categories
2458:concurrent
2380:089791242X
2166:ca.php.net
1902:15 January
1882:2022-03-04
1877:pkg.go.dev
1858:2021-06-22
1853:pkg.go.dev
1810:pkg.go.dev
1594:References
1568:XML Schema
1536:Export-CSV
1532:Import-CSV
1299:function.
1284:) or to a
1200:formats).
1161:unpickling
1087:__wakeup()
1012:FreezeThaw
806:JavaScript
800:JavaScript
778:Primitives
637:function.
582:data types
561:, and the
480:frameworks
253:endianness
150:references
2763:Web Token
2684:Databoard
2557:1401.7372
2397:476062921
2389:0163-5980
2357:CiteSeerX
2322:0164-0925
2300:CiteSeerX
2185:Suspekt..
1658:"Marshal"
1496:Encodable
1492:Decodable
1476:Decodable
1472:Encodable
1443:metaclass
1423:readFrom:
1415:readFrom:
1405:Smalltalk
1350:TypeError
1301:RProtoBuf
1263:serialize
1083:__sleep()
949:Microsoft
782:transient
773:transient
731:interface
633:with the
623:with the
569:C and C++
539:Smalltalk
531:interface
330:obfuscate
305:Drawbacks
295:Serialize
209:databases
202:messaging
66:excessive
2908:uuencode
2670:Archived
2574:36239952
2440:Delaware
2405:12908261
2330:67989840
1995:22 March
1970:22 March
1774:s11n.net
1735:July 11,
1729:RFC 1014
1583:Wikibase
1542:See also
1511:built-in
1419:storeOn:
1411:storeOn:
1290:mold/all
1282:save/all
1209:__repr__
1193:plistlib
1157:pickling
1048:retrieve
1032:Storable
1016:Storable
1008:JSON::XS
1004:Storable
994:Several
897:(read s)
513:Several
465:NeXTSTEP
444:ECMA-404
332:or even
232:such as
2748:EDIFACT
2723:formats
2620:25 July
2449:6 April
2338:8126961
2115:. 2014.
2061:25 July
1833:25 July
1667:25 July
1639:25 July
1513:cmdlet
1480:Codable
1341:restore
1321:Marshal
1286:string!
1236:cPickle
1232:cPickle
1171:-based
1040:nfreeze
983:Marshal
971:Marshal
887:" and "
868:HDF5.jl
687:Haskell
589:structs
469:GNUstep
334:encrypt
272:pointer
158:methods
154:objects
60:Please
52:use of
2897:Cyphal
2892:Thrift
2855:UBJSON
2845:Base64
2840:Base32
2810:Binary
2572:
2403:
2395:
2387:
2377:
2359:
2336:
2328:
2320:
2302:
2081:GitHub
1986:"JSON"
1961:"JSON"
1925:
1828:GitHub
1711:model.
1382:String
1370:String
1361:. The
1346:String
1228:pickle
1203:xdrlib
1150:pickle
1144:Python
1122:read/1
1110:Prolog
1105:Prolog
1036:nstore
1020:freeze
955:. and
838:
836:U+2029
828:
826:U+2028
764:Thread
755:Thread
722:marked
710:binary
646:Delphi
641:Delphi
555:Delphi
543:Python
499:netCDF
488:p-list
475:, and
446:, and
438:
432:STD 90
395:STD 67
353:backup
351:their
240:, etc.
186:SerDes
126:object
2823:ASN.1
2785:Rebol
2570:S2CID
2552:arXiv
2550:(2).
2415:done.
2401:S2CID
2334:S2CID
2286:(PDF)
1662:OCaml
1468:Swift
1462:Swift
1394:Serde
1378:_load
1366:_dump
1359:_load
1355:_dump
1278:REBOL
1273:REBOL
1169:stack
1079:magic
967:OCaml
962:OCaml
901:print
889:print
856:Julia
851:Julia
793:Swing
597:gSOAP
486:, or
473:macOS
404:, an
342:CORBA
238:CORBA
211:, on
144:over
130:files
2913:yEnc
2899:DSDL
2867:CBOR
2850:BSON
2835:Avro
2800:YAML
2790:TOML
2753:JSON
2738:Atom
2622:2021
2451:2017
2393:OCLC
2385:ISSN
2375:ISBN
2326:OCLC
2318:ISSN
2063:2021
2024:2016
1997:2018
1972:2018
1923:ISBN
1904:2014
1835:2021
1737:2011
1669:2021
1641:2021
1534:and
1484:JSON
1474:and
1466:The
1399:Rust
1388:Rust
1357:and
1338:and
1335:dump
1330:load
1328:and
1326:dump
1316:Ruby
1311:Ruby
1297:load
1259:dget
1255:dput
1183:json
1163:for
1124:and
1114:term
1093:and
1085:and
1069:and
1046:and
1044:thaw
1024:thaw
1010:and
1000:CPAN
996:Perl
990:Perl
977:and
957:here
953:here
885:read
881:Lisp
875:Lisp
833:and
816:and
810:JSON
789:JDBC
716:Java
705:show
701:Show
697:Read
681:Gobs
675:and
673:YAML
667:and
665:JSON
631:JSON
621:WDDX
617:CFML
612:CFML
576:and
563:.NET
559:Java
535:Ruby
521:(or
503:GRIB
454:YAML
440:8259
424:JSON
414:Ajax
406:SGML
377:The
223:SOAP
192:Uses
116:(or
2903:XDR
2828:SMI
2818:AMF
2795:XML
2780:RDF
2743:CSV
2562:doi
2367:doi
2310:doi
1528:CSV
1494:or
1456:XML
1452:RPC
1190:).
1112:'s
1063:PHP
1058:PHP
912:2.9
760:JVM
669:XML
650:IDE
593:ORM
578:C++
547:PHP
495:HDF
477:iOS
442:),
436:RFC
402:XML
280:or
234:COM
181:).
175:or
132:in
124:or
68:or
2939::
2638:.
2612:.
2590:.
2568:.
2560:.
2548:71
2546:.
2515:.
2497:.
2479:.
2468:^
2453:.
2438:.
2434:.
2407:.
2399:.
2391:.
2383:.
2373:.
2365:.
2332:.
2324:.
2316:.
2308:.
2294:.
2288:.
2277:;
2259:.
2241:.
2223:.
2205:.
2183:.
2164:.
2146:.
2129:.
2111:.
2079:.
2054:.
1988:.
1963:.
1945:.
1875:.
1851:.
1826:.
1808:.
1790:.
1772:.
1753:.
1727:.
1708:.
1704:.
1685:.
1660:.
1649:^
1632:.
1538:.
1517:.
1498:.
1486:,
1401:.
1307:.
1038:,
1006:,
862:/
847:.
712:.
683:.
661:Go
656:Go
557:,
553:,
549:,
545:,
541:,
537:,
505:.
497:,
482:.
471:,
467:,
450:.
420:.
317:.
290:.
263:.
236:,
215:).
204:).
188:.
136:,
2713:e
2706:t
2699:v
2663:.
2624:.
2576:.
2564::
2554::
2519:.
2501:.
2483:.
2369::
2340:.
2312::
2296:4
2263:.
2245:.
2227:.
2209:.
2168:.
2150:.
2083:.
2065:.
2026:.
1999:.
1974:.
1949:.
1931:.
1906:.
1885:.
1861:.
1837:.
1794:.
1776:.
1757:.
1739:.
1689:.
1671:.
1643:.
1413:/
1288:(
1251:R
1246:R
1052:n
921:)
918:y
909:4
906:(
574:C
434:(
225:.
95:)
89:(
84:)
80:(
76:.
58:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.