java - 用对应的英文字母替换特殊字符
问题描述
寻找一个实现或库(最好是在 Java 中),它将如下所示的Unicode文本转换为相应的ASCII英文字符:
ʀᴇɢɪꜱᴛʀᴀᴛɪᴏɴ
以下应转换为:
登记
但是请注意,还有其他可能要转换的字符,例如“cσdє”。
最终目标是进行phenetic/fuzzy match,但是我相信一旦字符是实际的 ASCII 英语,这将变得容易。
解决方案
事实证明它们被称为 Homoglyphs,所以我们试图防止 Homoglyph/Homograph 攻击。
我发现这个库Homoglyph Detection是一个很好的解决方案起点;它们提供了良好的映射,但不完整,无法真正阻止垃圾邮件。
让社区共享和完成这样的 unicode 到 latin 映射文件会很好。
推荐阅读
- powerquery - 刷新后是否有办法在电源查询中自动重命名列
- stm32 - 如何通过jtag或swd连接stm32f205进行读/写?
- c - 声明变量 = 0 和单独保留变量之间的区别是什么?
- javascript - 如何将用户输入的密码保存在闪亮的应用程序中
- flash - 有没有办法在 2021 年谷歌网站中嵌入 .swf 文件和褶边 Flash 播放器?
- java - 隐藏响应中的敏感信息
- python - Python 的“make install”仍然引用源文件
- c# - 从命令提示符运行控制台应用程序
- php - 在php上对数组进行排序
- testing - 为什么空手道配置标头的行为与直接在后台设置标头不同?