ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 48.4\. 消息数据类型 本节描述消息里用到的基本数据类型。 Int`_n_`(`_i_`) 一个网络字节顺序的`_n_`位整数。 如果声明了`_i_`,它就是将出现的确切值,否则这个数值就是一个变量。 比如 Int16 ,Int32(42)。 Int`_n_`[`_k_`] 一个`_k_`个`_n_`位整数元素的数组,每个都是以网络字节顺序存储的。 数组长度`_k_`总是由消息前面的字段来判断的。比如 Int16[M] String(`_s_`) 一个(C 风格的)空结尾的字符串。对字符串没有特别的长度限制。 如果声明了`_s_`,那么它是将出现的确切的数值,否则这个数值就是一个变量。 比如 String, String("user")。 > **Note:** 后端返回的字符串的可能长度_没有预定义的限制_。 所以前端必须使用良好的编码策略,使用某种可扩展的缓冲区以便能接受任何能放进内存里的东西。 如果那样做不可行,则读取全长的字符串然后抛弃不能放进你的定长缓冲区的尾部字符。 Byte`_n_`(`_c_`) 精确的`_n_`字节。 如果字段宽度`_n_`不是一个常量,那么总是可以从消息中更早的字段中判断它。 如果声明了`_c_`那么它是确切数值。例如 Byte2, Byte1('\n')