computers and technology & interesting & linux, unix, and open source & news & programming 09 Jul 2008 09:19 am
Protocol Buffers: Google’s Data Interchange Format
Google’s open source’s “Protocol Buffers”. Here’s some examples:
You write a .proto file like this:
message Person { required int32 id = 1; required string name = 2; optional string email = 3; }
Then, if you are using C++, you use that code like this:
Person person; person.set_id(123); person.set_name("Bob"); person.set_email("bob@example.com"); fstream out("person.pb", ios::out | ios::binary | ios::trunc); person.SerializeToOstream(&out); out.close();
Person person; fstream in("person.pb", ios::in | ios::binary); if (!person.ParseFromIstream(&in)) { cerr << "Failed to parse person.pb." << endl; exit(1); } cout << "ID: " << person.id() << endl; cout << "name: " << person.name() << endl; if (person.has_email()) { cout << "e-mail: " << person.email() << endl; }
Read more about them: Google Open Source Blog: Protocol Buffers: Google’s Data Interchange Format
Leave a Reply
You must be logged in to post a comment.