Ara*_*ngh 1 python unicode ascii python-unicode
我有以下数据集
\n\n\'F\xca\x80\xc9\xaa\xe1\xb4\x87\xc9\xb4\xe1\xb4\x85\',\n \'\xe1\xb4\x8d\xe1\xb4\x8f\xe1\xb4\x8d\',\n \'\xe1\xb4\x8d\xe1\xb4\x80\xe1\xb4\x8b\xe1\xb4\x87s\',\n \'\xca\x9c\xe1\xb4\x8f\xe1\xb4\x9c\xca\x80\xca\x9f\xca\x8f\',\n \'\xe1\xb4\x9b\xca\x9c\xe1\xb4\x87\',\n \'\xe1\xb4\x84\xe1\xb4\x8f\xe1\xb4\x8d\xe1\xb4\x98\xe1\xb4\x9c\xe1\xb4\x9b\xe1\xb4\x87\xca\x80\',\n \'\xca\x99\xe1\xb4\x87\xe1\xb4\x87\xc9\xb4\',\n \'\xe1\xb4\x8f\xe1\xb4\x9c\xe1\xb4\x9b\',\n \'\xe1\xb4\x80\',\n \'\xe1\xb4\x8a\xe1\xb4\x8f\xca\x99\',\n \'\xd2\x93\xe1\xb4\x8f\xca\x80\',\n \'\xe1\xb4\x8d\xe1\xb4\x8f\xc9\xb4\xe1\xb4\x9b\xca\x9cs\',\n \'\xca\x99\xe1\xb4\x9c\xe1\xb4\x9b\',\n \'\xca\x9f\xe1\xb4\x80s\xe1\xb4\x9b\',\n \'\xe1\xb4\x8d\xe1\xb4\x8f\xc9\xb4\xe1\xb4\x9b\xca\x9c\',\n \'\xca\x9c\xe1\xb4\x87\xca\x80\',\n \'\xe1\xb4\x84\xca\x9c\xe1\xb4\x87\xe1\xb4\x84\xe1\xb4\x8b\',\n \'\xe1\xb4\x8a\xe1\xb4\x9cs\xe1\xb4\x9b\',\n \'\xe1\xb4\xa1\xe1\xb4\x8f\xca\x80\xe1\xb4\x8b\xc9\xaa\xc9\xb4\xc9\xa2\',\n \'\xd2\x93\xe1\xb4\x87\xe1\xb4\xa1\',\n \'\xca\x9c\xe1\xb4\x8f\xe1\xb4\x9c\xca\x80s\',\n \'s\xe1\xb4\x8f\xe1\xb4\x9c\xca\x80\xe1\xb4\x84\xe1\xb4\x87\',\nRun Code Online (Sandbox Code Playgroud)\n\n我想使用 Python 脚本转换成 ASCII 格式\n例如:
\n\nF\xca\x80\xc9\xaa\xe1\xb4\x87\xc9\xb4\xe1\xb4\x85 - FRIEND\n\xe1\xb4\x8d\xe1\xb4\x8f\xe1\xb4\x8d - MOM\nRun Code Online (Sandbox Code Playgroud)\n\n我已经尝试过编码解码,但这不起作用\我也尝试过这个解决方案。但这并不能解决我的问题。
\nPython 不提供直接将小型大写字符转换为其 ASCII 等效字符的方法。然而,可以使用str.translate来做到这一点。
\n\n要使用,str.translate我们需要创建小型大写字符序数值到 ASCII 字符的映射。
要获取序数值,我们可以构造每个字符的名称,然后从unicodedata数据库中获取该字符并对其调用ord 。请注意,没有小型大写字母“X”字符,并且在 3.7 之前的 Python 版本中不存在小型大写字母“Q”。
\n\n>>> from string import ascii_uppercase\n>>> import unicodedata as ud\n\n>>> # Filter out unsupported characters\n>>> # Python < 3.7\n>>> letters = (x for x in ascii_uppercase if x not in (\'Q\', \'X\'))\n>>> # Python >= 3.7\n>>> letters = (x for x in ascii_uppercase if x != \'X\') \n\n>>> mapping = {ord(ud.lookup(\'LATIN LETTER SMALL CAPITAL \' + x)): x for x in letters}\nRun Code Online (Sandbox Code Playgroud)\n\n一旦我们有了映射,我们就可以使用它为 制作一个转换表str.translate,使用str.maketrans,然后执行转换。
>>> # Make as translation table\n>>> tt = str.maketrans(mapping)\n>>> # Use the table to "translate" strings to their ASCII equivalent.\n>>> s = \'\xe1\xb4\x8d\xe1\xb4\x8f\xc9\xb4\xe1\xb4\x9b\xca\x9c\'\n>>> s.translate(tt)\n\'MONTH\'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
430 次 |
| 最近记录: |