拉丁字符集的严格验证(ISO 8859)

2024-04-27 04:46:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望验证用户输入,以确保输入字符串中的所有字符都属于西文拉丁字符集。你知道吗

背景

我专门在Python中工作,但是我更希望理解ISO-8859字符集,而不是接收实际的Python代码。你知道吗

举一个简单的例子,如果我想确保用户输入完全是ASCII,那么我可以通过检查每个字符的数值是否在[0-126]范围内来轻松地做到这一点:

def is_ascii(s):
    for c in s:
        if not (0 <= ord(c) <= 126):
            return False

    return True

很简单!但是现在我想验证ISO-8859(西文拉丁字符集)。你知道吗

问题

这是改变ord(c)值上限的简单情况吗?你知道吗

如果是这样,我应该用什么值替换126?你知道吗

如果没有,如何执行此验证?你知道吗

注意

我希望收到的字符肯定是ISO-8859之外的,例如从移动设备的键盘输入的表情。你知道吗

编辑

经过进一步研究,用255替换126可能是一个有效的解决方案,但如果有人能证实这一点,我将不胜感激?你知道吗


Tags: 字符串代码用户returnisdefasciiiso