【问题标题】:Python - Same letter but different font/ascii code/encoding? [duplicate]Python - 相同的字母但不同的字体/ascii 代码/编码? [复制]
【发布时间】:2020-01-27 13:34:36
【问题描述】:

我正在尝试制作一个简单的算法,它需要一些文本并预测一些概率。在将文本作为单个单词处理的方式中,我意识到我的单词/字符具有不同的 ascii 代码,即使它们对我/我的算法的含义应该是相同的。例如,我发现了这个'are''are'。第一个似乎有不同的字体或类似的东西。如果我在 Python 中得到他们的哈希码也不同:

hash('are') #5179570038677318294
hash('are') #-5669913536749823475

如果我检查单个 ascii 代码:

ord('a') #65345
ord('a') #97

所以,我想知道是否有人知道这究竟是为什么,当然还有任何解决方法。我想要的理想结果是将'are''are' 视为同一个词,以便我可以将它们分组。 (数据存储在虚拟机中的 .csv 文件中)

感谢您的帮助!

编辑:

如果这有用,对我来说最好的解决方案是:

from unidecode import unidecode
unidecode(text)

因为这也可以轻松去除重音符号。

【问题讨论】:

    标签: python string encoding ascii data-processing


    【解决方案1】:

    您可以使用unicodedata.normalize 规范化字符串:

    import unicodedata
    ord(unicodedata.normalize('NFKC', 'a')) # 97
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2016-02-03
      相关资源
      最近更新 更多