zoukankan      html  css  js  c++  java
  • 三.protobuf3标量值类型

    Protobuf3 标量值类型

      标量消息字段可以具有以下类型之一——该表显示了.proto文件中指定的类型,以及自动生成的类中的相应类型:

    .proto类型说明C++ 类型Java 类型Python类型Go类型Ruby类型C#类型PHP类型
    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[3]  int64  Bignum  long  integer/string[5]
    uint32  使用可变长度编码。 uint32  int[1] int/long[3]  uint32  Fixnum或Bignum (根据需要) uint integer
    uint64  使用可变长度编码。 uint64  long[1]   int/long[3] uint64  Bignum  ulong  integer/string[5]
    sint32  使用可变长度编码。符号整型值。这些比常规int32s编码负数更有效。 int32  int  int  int32  Fixnum或Bignum (根据需要) int  integer
    sint64  使用可变长度编码。符号整型值。这些比常规int64s编码负数更有效。 int64  long  int/long[3] int64  Bignum  long  integer/string[5]
    fixed32  总是四字节。如果值通常大于228,则比uint 32更有效 uint32  int[1]  int/long[3]  uint32 Fixnum或Bignum (根据需要) uint  integer
    fixed64  总是八字节。如果值通常大于256,则比uint64更有效 uint64  long[1] int/long[3] uint64  Bignum  ulong   integer/string[5]
    sfixed32  总是四字节。 int32  int  int  int32 Fixnum或Bignum (根据需要) int  integer
    sfixed64  总是八字节。 int64  long   int/long[3] int64 Bignum  long  integer/string[5]
    bool    bool  boolean  bool  bool  TrueClass/FalseClass bool  boolean
    string  字符串必须始终包含UTF - 8编码或7位ASCII文本 string  String  str/unicode[4]  string String (UTF-8) string  string
    bytes  可以包含任意字节序列 string  ByteString  str  []byte String (ASCII-8BIT)  ByteString  string


      在协议缓冲区编码中序列化消息时,您可以了解更多关于这些类型的编码方式。

      [1] 在Java中,无符号的32位和64位整数使用它们的有符号对应值来表示,高位简单地存储在符号位中。

      [2] 在所有情况下,为字段设置值都将执行类型检查以确保其有效。

      [3] 64位或无符号32位整数在解码时总是表示得一样长,但是如果在设置字段时给出了一个int,则可以是一个int。在所有情况下,该值必须符合设置时表示的类型。参见[2]

      [4] python字符串在解码时表示为unicode,但是如果给出了ASCII字符串,则可以是str (这可能会发生变化)。

      [5] integer用于64位机器,string用于32位机器。

  • 相关阅读:
    java控制台输入
    冒泡排序
    选择排序
    Json数组去重
    HTTP状态码详解
    根据json对象的值替换json数组里的值
    用户中心页面
    正则表达式
    vue-router如何根据不同的用户给不同的权限
    vue2.0+element+node+webpack搭建的一个简单的后台管理界面
  • 原文地址:https://www.cnblogs.com/kexianting/p/11507471.html
Copyright © 2011-2022 走看看