【问题标题】:Similar looking UTF8 characters for ASCII与 ASCII 相似的 UTF8 字符
【发布时间】:2017-10-22 07:50:27
【问题描述】:

我正在寻找一个包含 ASCII 字符和外观相同的 UTF8 字符的表。我知道这也取决于字体它们看起来是否相同,但从通用的开始就足够了。

>>> # PY3 code:
>>> a='H'  # ascii
>>> b='Н'  # utf8
>>> a==b
False
>>> ' '.join(format(ord(x), 'b') for x in a)
'1001000'
>>> ' '.join(format(ord(x), 'b') for x in b)
'10000011101'
>>> a='P'  # ascii
>>> b='Ρ'  # utf8
>>> a==b
False
>>> ' '.join(format(ord(x), 'b') for x in a)
'1010000'
>>> ' '.join(format(ord(x), 'b') for x in b)
'1110100001'

【问题讨论】:

  • "UTF-8 characters" 只是 Unicode 字符(准确地说是代码点),因为 UTF-8 只是 Unicode 的编码。所以您正在寻找一种方法来查找类似于 ASCII 字符的 Unicode 代码点?
  • 是的,这就是我的意思。对不起,如果这不是很明显。
  • 是的,但我不是在寻找“lol”~“lo1”。
  • 您遇到了一些术语问题。您的问题对于任何使用 Unicode 的系统同样有效,而不仅仅是那些使用 UTF-8 编码存储字符串的系统。您使用的所有字符都是 Unicode。通过 ASCII,您的意思似乎是 C0 Controls and Basic Latin。 UTF-8 不被视为扩展 ASCII。此外,您的 for x in a 迭代 Unicode 代码点,而不是 UTF-8 代码单元。 (== 确实比较了 UTF-8 代码单元的序列。)

标签: utf-8 ascii non-ascii-characters extended-ascii


【解决方案1】:

这是一个非常有用的工具,因为它会显示所有看起来相似的字符,你可以选择这是否真的足够相似:)

https://unicode.org/cldr/utility/confusables.jsp?a=test&r=None

其他一些资源:

【讨论】:

    猜你喜欢
    • 2014-03-05
    • 2020-09-08
    • 1970-01-01
    • 2013-04-09
    • 2020-10-30
    • 1970-01-01
    • 2017-03-30
    • 2016-07-31
    • 2010-10-12
    相关资源
    最近更新 更多