A colagem falhou não por causa do asterisco, que é um asterisco perfeitamente regular, mas por causa do Caractere Unicode U + 200B . Como o caractere é um ZERO WIDTH SPACE
, ele não é exibido quando é copiado.
Usando o código Python:
stro=u"'*'?"
def uniconv(text):
return " ".join(hex(ord(char)) for char in text)
uniconv(stro)
A função uniconv
converte a cadeia de entrada (nesse caso, u"'*'?"
) em seus equivalentes da página de códigos Unicode em formato hexadecimal. O prefixo u
para a string identifica a string como uma string Unicode.
Consegui obter a saída:
0x27 0x2a 0x200b 0x27 0x3f
Podemos ver claramente que 0x27
, 0x2a
e 0x3f
são os valores hexadecimais ASCII / Unicode para os caracteres '
, *
e ?
, respectivamente. Isso deixa 0x200b
, portanto identificando o personagem.
Observe que o código Python, quando colado no corpo, teve o caractere U + 200B removido pelo software Markdown da SE. Para obter o resultado esperado, você precisa copiá-lo diretamente do título usando a visualização Editar.