o que é “um espaço invisível de espaço em branco que ocupa espaço”

1

Pode-se procurar caracteres Unicode com expressões regulares. No site Jan Goyvaerts , encontrei um RegExp cujo significado não entendo:

\p{Zs} or \p{Space_Separator}: a whitespace character that is invisible, but does take up space

Então, pergunto-me se entendi direito: a Whitespace Character

  • é o espaço "vazio" entre duas palavras, colunas, linhas, qualquer que seja
  • é 'invisível' na medida em que não contém nada além do papel em branco ⁄ tela
  • ocupa "espaço" na medida em que o local ocupado não pode ser ocupado por meio de uma letra, símbolo, qualquer coisa comparável

De acordo com isso, cheguei às seguintes perguntas :

  • existem ' visíveis caracteres em branco'
  • um caractere de espaço em branco ' não ocupa espaço '

Isso seria exatamente o oposto do que é definido. Ambos fazem muito sentido, mas ambos podem descrever o mesmo, dependendo do ponto de vista: um espaço vazio é visível através da ausência de qualquer coisa exibida lá, exceto a tela de papel em branco, mas então é invisível, pois não há nada para ver. Nesse ponto, sinto uma fronteira com a Filosofia: como se mede a quantidade do Nada do que através de sua contrapartida, ou algo assim.

    
por erch 13.04.2013 / 16:49

2 respostas

0

Alguns caracteres de espaço em branco invisíveis ASCII clássicos são:

  • Guia: \t
  • Nova linha: \n
  • Retorno de carro: \r
  • Feed de formulário: \f
  • guia vertical: \v

Todos eles são tratados como caracteres pelo computador e exibidos como espaços em branco para um humano.

Outros caracteres invisíveis incluem

  • Campainha audível: \a
  • Backspace: \b

Assim como a longa lista no artigo da wikipedia dada por frostschutz.

    
por 13.04.2013 / 18:51
0

Da fonte de PCRE testsuite:

/^\p{Zs}/8
    \ \
    \x{a0}
    \x{1680}
    \x{180e}
    \x{2000}
    \x{2001}

Então ... pelo menos inclui espaço, espaço nobreak, marca de espaço ogham, separador de vogal mongol, quadra, em quad?

O significado de \ p {Zs} de acordo com o Python 3 usando o regex link (o Python re não entende \ p {Zs}:

$ python3
Python 3.2.3 (default, Mar 23 2013, 23:30:23) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import regex
>>> import sys
>>> allofunicode=''.join([c for c in map(chr, range(sys.maxunicode+1))])
>>> regex.findall(r'\p{Zs}', allofunicode)
[' ', '\xa0', '\u1680', '\u180e', '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200a', '\u202f', '\u205f', '\u3000']

(desculpe pelo código estranho - eu faria em Perl mas meu Perl está enferrujado: P)

    
por 13.04.2013 / 19:34