Protocol Buffers 学习(2):字段类型和其他语言字段类型之间的映射

栏目: 服务器 · 发布时间: 6年前

内容简介:Protocol Buffers 学习(2):字段类型和其他语言字段类型之间的映射

对照表格

.proto Type 介绍 C++ Type Java Type Python Type Go Type Ruby Type C# Type PHP Type
double double double float float64 Float double float
float float float float float32 Float float float
int32 使用可变长度编码,不能编码负值,如果字段可能有负值,推荐使用 sint32 int32 int int int32 Fixnum 或者 Bignum (按需) int integer
int64 使用可变长度编码,不能编码负值,如果字段可能有负值,推荐使用 sint64 int64 long int/long int64 Bignum long integer/string
uint32 使用可变长度编码 uint32 int int/long uint32 Fixnum 或者 Bignum (按需) uint integer
uint64 使用可变长度编码 uint64 long int/long uint64 Bignum ulong integer/string
sint32 使用可变长度编码,有符号int型,比int32对负数支持更好 int32 int int int32 Fixnum 或者 Bignum (按需) int integer
sint64 使用可变长度编码,有符号int型,比int64对负数支持更好 int64 long int/long int64 Bignum long integer/string
fixed32 始终为四个字节,值大于 2^28 时,比uint32更有效 uint32 int int uint32 Fixnum 或者 Bignum (按需) uint integer
fixed64 始终为四个字节,值大于 2^56 时,比uint64更有效 uint64 long int/long uint64 Bignum ulong integer/string
sfixed32 始终为四个字节 int32 int int int32 Fixnum 或者 Bignum (按需) int integer
sfixed64 始终为四个字节 int64 long int/long int64 Bignum long integer/string
bool bool boolean bool bool TrueClass/FalseClass bool boolean
string 字符串必须始终包含UTF-8编码或7位ASCII文本 string String str/unicode string String (UTF-8) string string
bytes 可以包含任意的字节序列 string ByteString str []byte String (ASCII-8BIT) ByteString string

更多有关编码信息,可以查看 谷歌文档(protobuf编码) 需翻墙

字段默认值

当消息被解析时,如果编码的消息不包含特定的单个元素(字段),则解析对象中的相应字段将被设置为该字段的默认值。 这些默认值是特定于类型的:

  • 对于字符串,默认值为空字符串
  • 对于字节,默认值为空字节。
  • 对于bools,默认值为false。
  • 对于数值类型,默认值为零。
  • 对于枚举,默认值是第一个定义的枚举值,它必须为0。
  • 对于消息字段,这个要看具体实现的语言

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ASP.NET 4高级程序设计(第4版)

ASP.NET 4高级程序设计(第4版)

Matthew MacDonald / 博思工作室 / 人民邮电出版社 / 2011-6 / 148.00元

《ASP.NET 4高级程序设计(第4版)》,本书是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。一起来看看 《ASP.NET 4高级程序设计(第4版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试