@classmethod
def _msg_to_bytes(cls, msg, msg_id=None, **kwargs):
    """
        将报文对象转换为二进制数组（用于网络通讯）

        @param {object} msg - 报文对象（python对象，json.loads得到的对象）
        @param {string} msg_id=None - 主报文id（用于标明该报文业务类型）
        @param {**kwargs} kwargs - 转换参数，包括
            encoding='utf-8' - 字符编码
            has_sign_info=False - 是否带有签字验证信息（在json文档结尾），如果有，转换时加到字符串中
            sign_str='' - 当有签字验证信息时，验证信息字符串

        @returns {byte[]} - 二进制数组

        """
    if msg is None:
        return bytes()
    _str_ret = cls._msg_to_str(msg, msg_id=msg_id, **kwargs)
    _encoding = cls._get_para_from_kwargs('encoding', default_value='utf-8',
        kwargs=kwargs)
    _msg_bytes = bytes(_str_ret, _encoding)
    return _msg_bytes
