Znaki spacji

W kodowaniu ASCII ma tylko cztery najczęściej używane białych znaków:

  • spacja — ' ', chr(32), "\N{SPACE}"
  • tabulator — "\t", chr(9), "\N{CHARACTER TABULATION}"
  • tłumaczenie wiersza — "\n", chr(10), "\N{LINE FEED}"
  • tłumaczenie karetki — "\r", chr(13), "\N{CARRIAGE RETURN}" (używany w systemie Windows, linux i macOS praktycznie nie używany)

Ale są jeszcze dwa standardowych białych znaków, które są używane bardzo rzadko:

  • "\x0B", chr(11), "\N{LINE TABULATION}"
  • "\f", chr(12), "\N{FORM FEED}"

Ta lista białych znaków można uzyskać za pomocą następującego skryptu:

▶ Run
#!/usr/bin/perl

use utf8;
use open qw(:std :utf8);
use strict;
use warnings;

foreach my $i (0..65535) {
    print "chr($i)\n" if chr($i) =~ /\s/a;
}

Ale w Unicode są jeszcze znaki, które są пробельными. Oto program, który wyprowadzi wszystkie znaki standardu Unicode, które z punktu widzenia Perl są пробельными:

▶ Run
#!/usr/bin/perl

use utf8;
use open qw(:std :utf8);
use strict;
use warnings;

my $count = 0;

foreach my $i (0..65535) {
    if (chr($i) =~ /\s/) {
        print "chr($i)\n";
        $count++;
    }
}

print "\n";
print "count: $count\n";Но

Wyjście z programu:

chr(9)
chr(10)
chr(11)
chr(12)
chr(13)
chr(32)
chr(5760)
chr(6158)
chr(8192)
chr(8193)
chr(8194)
chr(8195)
chr(8196)
chr(8197)
chr(8198)
chr(8199)
chr(8200)
chr(8201)
chr(8202)
chr(8232)
chr(8233)
chr(8239)
chr(8287)
chr(12288)

count: 24

Tematy pokrewne

Inne artykuły