命令行统计字符个数?wc你行不行?

1. 前两天和考拉海购和UC做ios广告的app分发对接,需要按照要求使用MD5加密返回32位加密字符串。

2. 测试通过后就在线上投放广告了。奇怪的是偶尔会收到恢复说sign验证失败。百思不得其解。

3. 和我们组员讨论了一下,使用在线md5验证sign,发现报错的sign都是31位的,且都是第一位丢掉了一个0.

4. 我这就觉得搞笑了,那就是md5加密返回的BigInteger先丢失了头部的0,然后转换成String就变成这样了?

5. 赶紧加个while(str.length()<32){str="0"+str;} 先解决线上问题再说。

6. 我一直不敢相信sign丢掉了一位是因为,我使用echo $str|wc -c 测试了长度的啊,一直是32啊。

7. 结果自己输了好几遍终于确定wc命令的输出就是会比实际的字符串长度多一位!最终还找到了网上的wc的bug记录。

8. 那么问题来了,如何最快的计算出字符串的长度?进过努力,最终我迎接来了春天:

alias len='func_strlen(){ str=$@;echo ${#str};};func_strlen $@'

9. 使用如下: len "hi dick"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容