X-I*_*nce 5 python username canonicalization
获得幂等用户名的规范表示的最佳方法是什么?
我想避免遇到与Spotify相同的问题:http://labs.spotify.com/2013/06/18/creative-usernames/
我正在寻找一个很好的库来用Python做到这一点.我宁愿不做Spotify最终做的事情(运行规范化两次以测试它是否是幂等的),并且将Twisted导入我的项目有点过分,是否有一个独立的库?
在用户名方面,使用电子邮件地址是首选吗?主要网站/公司如何处理这个问题?
首先,您应该阅读维基百科有关Unicode 等效性的文章。它解释了注意事项以及以规范形式表示 Unicode 字符串的规范化方法。
\n\n然后,您可以使用 Python 的内置模块unicodedata将 Unicode 字符串标准化为您首选的标准化形式。
\n\n代码示例:
\n\n>>> import unicodedata\n>>> unicodedata.normalize(\'NFKC\', u\'\xef\xac\x80\xc3\xb1\xe2\x85\xa8\xef\xac\x83\xe2\x81\xb5Ka\xc3\x85\xc3\xa9\xe1\xb4\xae\xe1\xb4\xb5\xe1\xb4\xb3\xe1\xb4\xae\xe1\xb4\xb5\xe1\xb4\xbf\xe1\xb4\xb0\')\n\'ff\xc3\xb1IXffi5Ka\xc3\x85\xc3\xa9BIGBIRD\'\n>>> unicodedata.normalize(\'NFKC\', u\'\xef\xac\x80\xc3\xb1\xe2\x85\xa8\xef\xac\x83\xe2\x81\xb5Ka\xc3\x85\xc3\xa9\xe1\xb4\xae\xe1\xb4\xb5\xe1\xb4\xb3\xe1\xb4\xae\xe1\xb4\xb5\xe1\xb4\xbf\xe1\xb4\xb0\').lower()\n\'ff\xc3\xb1ixffi5ka\xc3\xa5\xc3\xa9bigbird\'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |