zoukankan      html  css  js  c++  java
  • C# 使用Google Protocol Buffers

    Google Protocol Buffers 使用3.0版本

    下载protoc.exe 

    下载链接

    https://github.com/protocolbuffers/protobuf/releases

    阅读使用指南

    https://developers.google.com/protocol-buffers/docs/csharptutorial

    生成命令

     protoc -I=. --csharp_out=. ./addressbook.proto

    -I 输入当前目录  --csharp_out 输出目录

    C# 类型映射

    .proto TypeNotesC++ TypeJava TypePython Type[2]Go TypeRuby TypeC# TypePHP TypeDart Type
    double   double double float float64 Float double float double
    float   float float float float32 Float float float double
    int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 Fixnum or Bignum (as required) int integer int
    int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long[3] int64 Bignum long integer/string[5] Int64
    uint32 Uses variable-length encoding. uint32 int[1] int/long[3] uint32 Fixnum or Bignum (as required) uint integer int
    uint64 Uses variable-length encoding. uint64 long[1] int/long[3] uint64 Bignum ulong integer/string[5] Int64
    sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 Fixnum or Bignum (as required) int integer int
    sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long[3] int64 Bignum long integer/string[5] Int64
    fixed32 Always four bytes. More efficient than uint32 if values are often greater than 228. uint32 int[1] int/long[3] uint32 Fixnum or Bignum (as required) uint integer int
    fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 256. uint64 long[1] int/long[3] uint64 Bignum ulong integer/string[5] Int64
    sfixed32 Always four bytes. int32 int int int32 Fixnum or Bignum (as required) int integer int
    sfixed64 Always eight bytes. int64 long int/long[3] int64 Bignum long integer/string[5] Int64
    bool   bool boolean bool bool TrueClass/FalseClass bool boolean bool
    string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode[4] string String (UTF-8) string string String
    bytes May contain any arbitrary sequence of bytes. string ByteString str []byte String (ASCII-8BIT) ByteString string List<int>
  • 相关阅读:
    旋转数组求最小值
    docker
    php爬虫
    docker,docker-compose 安装
    ReactPHP
    Workerman了解一下
    ubantu 运行.sh 脚本的问题
    ubantu 文件权限 Permission denied
    ubantu 文件属性
    mysql命令行中执行sql的几种方式总结
  • 原文地址:https://www.cnblogs.com/ruxia/p/10225315.html
Copyright © 2011-2022 走看看