特殊字体文本转标准字符:多字体适配代码修改求助
多特殊字体文本转标准字符解决方案
以下是修改后的代码,支持处理你列出的所有特殊字体集(包括🅐🅟🅟🅛🅔、𝓐𝓟𝓟𝓛𝓔、𝘈𝘗𝘗𝘓𝘌等):
text = input("Enter text: ") # 定义各特殊字体字符集及其对应的标准字符序列 original_sets = [ "🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩", "𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃0123456789", "𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫" ] standard_sets = [ "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" ] # 构建字符映射字典:特殊字符 -> 标准字符 char_map = {} for orig_chars, std_chars in zip(original_sets, standard_sets): for orig_char, std_char in zip(orig_chars, std_chars): char_map[orig_char] = std_char # 转换文本 result = ''.join([char_map.get(char, char) for char in text]) print("Converted:", result)
关键改动说明:
- 拆分字符集对应关系:将原代码中混杂的标准字符集从
original移除,单独为每个特殊字体集匹配对应的标准字符序列(第一个特殊集仅包含大写字母,对应标准大写序列;后两个包含大小写和数字,对应完整的标准字符序列)。 - 全局映射字典:通过遍历所有特殊字符集,构建一个统一的
char_map字典,把每个特殊字符直接映射到对应的标准字符,避免了原代码中仅检查单个字符集的局限。 - 高效转换逻辑:使用列表推导式结合
dict.get()方法,一行完成文本转换,既简洁又保留了原代码中“未匹配字符直接保留”的逻辑。
测试示例:
- 输入
🅐🅟🅟🅛🅔,输出APPLE - 输入
𝓐𝓟𝓟𝓛𝓔,输出APPLE - 输入
𝘈𝘗𝘗𝘓𝘌,输出APPLE - 输入混合字符
🅐𝓟𝘗🅛𝓔,输出APPLE
内容的提问来源于stack exchange,提问作者Kimhab
相关产品推荐
相关产品推荐

