1. 增加测试用例
2. 修改设计，引入输出方式为模版参数，方便binary与text输出方式