in dubbo/codec/encoder.py [0:0]
def _encode_str(self, value):
"""
对一个字符串进行编码
:param value:
:return:
"""
result = []
# 在进行网络传输操作时一律使用unicode进行操作
if isinstance(value, str):
value = value.decode('utf-8')
length = len(value)
if length <= 0x1f:
result.append(0x00 + length)
elif length <= 0x3ff:
result.append(0x30 + (length >> 8))
result.append(length)
else:
result.append(ord('S'))
result.append(length >> 8)
result.append(length)
result.extend(self._encode_utf(value))
return result