关于特殊字符的限制,因为我们跟PaaS服务有点像,这方面很多时候需要客户填一些名称啊,诸如此类。
说白了,这些客户填的名称,一定是要出现在某个中间件或者三方基础组件里的。举几个例子
- 存入数据库
- 组装成SQL表达式
- 比如写入文件系统
某个版本的mongo数据库key不能存.或者*,SQL表达式更是不允许这样那样的特殊表达式,
还有很多字符的限制源自底层基于文件系统实现
但是感觉客户总有这样那样的特殊字符需求,作为一个服务,与其在各个点上做限制,是不是不如用统一的转义编码编码掉所有的常见特殊字符。
就像以太网帧用什么7f7f代表7f,7f7d代表啥一样(这个我记不太准确了)。比如-a代表*,-b代表-。这个仅对内部系统可见,外部客户不可见。我们用这些常见字符,各种数据库、文件系统都支持的字符来做统一的编解码,这样子,无论以后更换什么数据库,什么文件系统,代码也能保持兼容。
网友评论