Na verdade caracteres em UTF-8 podem usar de 1 a 4 bytes. Um para os primeiros 127 (ASCII), 2 para latin (acentuados), 3 para caracteres em outros idiomas (como japones, chines, hebraico, etc) e 4 bytes para caracteres que ainda não foram definidos, mas que futuramente serão colocados na tabela Unicode.
Engraçado é que a forma $ wc -l <<< string 7 Retorna com a quebra de linha também (talvez pelo sinal de fim de instrução), mas se vc fizer: $ wc -l <<< string; echo 7 # uma linha varia, do segundo echo Ele retorna com a quebra mesmo assim... É no mínimo engraçado. Marcelo Andrade wrote: > > > 2009/11/19 Thomaz de Oliveira dos Reis <[email protected] > <mailto:thor27%40gmail.com>>: > > Vale lembrar também que wc -c conta número de bytes e não de caracteres. > > > > Veja o exemplo aonde isso falha: > > > > liber...@liberiun-pc02:~$ TESTE=ç > > liber...@liberiun-pc02:~$ echo $TESTE | wc -c > > 3 > > liber...@liberiun-pc02:~$ echo -n $TESTE | wc -c > > 2 > > liber...@liberiun-pc02:~$ echo -n $TESTE | wc -m > > 1 > > So lembrando que isto deve falhar se voce estiver usando > algum locale em UTF-8, pois nesta codificacao, caracteres > "especiais" sao representados com dois bytes. > > Atenciosamente. > > -- > MARCELO DE F. ANDRADE > Belem, PA, Amazonia, Brazil > Linux User #221105 > >
