TODO: 使用模板解决编码问题