ืื ื’ืœื™ืชืฆืจืคืชื™ืชืกืคืจื“ื™

ืกืžืœ OnWorks

perlunifaq - ืžืงื•ื•ืŸ ื‘ืขื ืŸ

ื”ืคืขืœ ืืช perlunifaq ื‘ืกืคืง ืื™ืจื•ื— ื—ื™ื ืžื™ ืฉืœ OnWorks ืขืœ ืื•ื‘ื•ื ื˜ื• ืื•ื ืœื™ื™ืŸ, ืคื“ื•ืจื” ืื•ื ืœื™ื™ืŸ, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ื–ื•ื”ื™ ื”ืคืงื•ื“ื” perlunifaq ืฉื ื™ืชืŸ ืœื”ืจื™ืฅ ื‘ืกืคืง ื”ืื™ืจื•ื— ื”ื—ื™ื ืžื™ ืฉืœ OnWorks ื‘ืืžืฆืขื•ืช ืื—ืช ืžืชื—ื ื•ืช ื”ืขื‘ื•ื“ื” ื”ืžืงื•ื•ื ื•ืช ื”ืžืจื•ื‘ื•ืช ืฉืœื ื•, ื›ื’ื•ืŸ Ubuntu Online, Fedora Online, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ืชึธื›ึฐื ึดื™ืช:

ืฉืึตื


perlunifaq - ืฉืืœื•ืช ื ืคื•ืฆื•ืช ืฉืœ Perl Unicode

Q ื• A


ื–ื•ื”ื™ ืจืฉื™ืžื” ืฉืœ ืฉืืœื•ืช ื•ืชืฉื•ื‘ื•ืช ืขืœ Unicode ื‘-Perl, ื”ืžื™ื•ืขื“ืช ืœืงืจื™ืื” ืœืื—ืจ ืžื›ืŸ
perlunitut.

ืคืจืœื•ื ื™ื˜ื•ื˜ ืœื ื‘ึผึถืึฑืžึถืช a Unicode ื”ื“ืจื›ื”, is ืืช ื–ื”?
ืœื, ื•ื–ื• ืœื ื‘ืืžืช ืฉืืœื” ื ืคื•ืฆื” ืฉืœ Unicode.

ืœืคืจืœ ื™ืฉ ืžืžืฉืง ืžื•ืคืฉื˜ ืœื›ืœ ืงื™ื“ื•ื“ื™ ื”ืชื•ื•ื™ื ื”ื ืชืžื›ื™ื, ืื– ื–ื”ื•
ืœืžืขืฉื” ื”ื“ืจื›ื” ื›ืœืœื™ืช ืฉืœ "ืงื™ื“ื•ื“" ื•ืฉืืœื•ืช ื ืคื•ืฆื•ืช ืขืœ "ืงื™ื“ื•ื“". ืื‘ืœ ืื ืฉื™ื ืจื‘ื™ื ื—ื•ืฉื‘ื™ื ืฉ-Unicode
ื”ื•ื ืžื™ื•ื—ื“ ื•ืงืกื•ื, ื•ืœื ืจืฆื™ืชื™ ืœืื›ื–ื‘ ืื•ืชื, ืื– ื”ื—ืœื˜ืชื™ ืœื”ืชืงืฉืจ ืœ-
ืœืชืขื“ ื”ื“ืจื›ื” ืฉืœ Unicode.

ืžื” ืื•ืคื™ ืงื™ื“ื•ื“ื™ื ืขื•ืฉื” ืคืจืœ ืชืžื™ื›ื”?
ื›ื“ื™ ืœื’ืœื•ืช ื‘ืื™ืœื• ืงื™ื“ื•ื“ื™ ืชื•ื•ื™ื ืชื•ืžืš Perl ืฉืœืš, ื”ืจืฅ:

perl -MEncode -le "ื”ื“ืคืก ืขื‘ื•ืจ Encode->encodings(':all')"

ืื™ื–ื” ื’ืจืกื” of ืคืจืœ ืฆืจื™ืš I ืœื”ืฉืชืžืฉ?
ื•ื‘ื›ืŸ, ืื ืืชื” ื™ื›ื•ืœ, ืฉื“ืจื’ ืœื’ืจืกื” ื”ืขื“ื›ื ื™ืช ื‘ื™ื•ืชืจ, ืื‘ืœ ื‘ื”ื—ืœื˜ 5.8.1 ืื• ื—ื“ืฉ ื™ื•ืชืจ. ื”ื”ื“ืจื›ื”
ื•ืฉืืœื•ืช ื ืคื•ืฆื•ืช ืžื ื™ื—ื•ืช ืืช ื”ืžื”ื“ื•ืจื” ื”ืื—ืจื•ื ื”.

ื›ื“ืื™ ื’ื ืœื‘ื“ื•ืง ืืช ื”ืžื•ื“ื•ืœื™ื ืฉืœืš ื•ืœืฉื“ืจื’ ืื•ืชื ื‘ืžื™ื“ืช ื”ืฆื•ืจืš. ืœื“ื•ื’ืžื”,
HTML::Entities ื“ื•ืจืฉ ื’ืจืกื” >= 1.32 ื›ื“ื™ ืœืชืคืงื“ ื›ื”ืœื›ื”, ืœืžืจื•ืช ื™ื•ืžืŸ ื”ืฉื™ื ื•ื™ื™ื
ืฉื•ืชืง ืขืœ ื–ื”.

ืžื” ืขืœ ื‘ื™ื ืจื™ ื ืชื•ื ื™ื, ื›ืžื• ืชืžื•ื ื•ืช?
ื•ื‘ื›ืŸ, ืžืœื‘ื“ "binmode $fh" ื—ืฉื•ืฃ, ืืชื” ืœื ืฆืจื™ืš ืœื”ืชื™ื™ื—ืก ืืœื™ื”ื ื‘ืžื™ื•ื—ื“. (ืžืฆื‘ bin
ื ื—ื•ืฅ ืžื›ื™ื•ื•ืŸ ืฉืื ืœื ื›ืŸ, Perl ืขืฉื•ื™ื” ืœื”ืžื™ืจ ืกื™ื•ืžืช ืฉื•ืจื” ื‘ืžืขืจื›ื•ืช Win32.)

ื”ื™ื–ื”ืจ, ืขื ื–ืืช, ืœืขื•ืœื ืœื ืœืฉืœื‘ ืžื—ืจื•ื–ื•ืช ื˜ืงืกื˜ ืขื ืžื—ืจื•ื–ื•ืช ื‘ื™ื ืืจื™ื•ืช. ืื ืืชื” ืฆืจื™ืš ื˜ืงืกื˜
ื–ืจื ื‘ื™ื ืืจื™, ืงื•ื“ื“ ืืช ืžื—ืจื•ื–ื•ืช ื”ื˜ืงืกื˜ ืฉืœืš ืชื—ื™ืœื” ื‘ืืžืฆืขื•ืช ื”ืงื™ื“ื•ื“ ื”ืžืชืื™ื, ื•ืœืื—ืจ ืžื›ืŸ ื”ืฆื˜ืจืฃ
ืื•ืชื ืขื ืžื—ืจื•ื–ื•ืช ื‘ื™ื ืืจื™ื•ืช. ืจืื” ื’ื: "ืžื” ืื ืื ื™ ืœื ืžืงื•ื“ื“?".

ืžืชื™ ืฆืจื™ืš I ืœึฐืคึทืขึฒื ึตื—ึท or ืœึฐื”ึทืฆึฐืคึผึดื™ืŸ?
ื‘ื›ืœ ืคืขื ืฉืืชื” ืžืชืงืฉืจ ื˜ืงืกื˜ ืขื ื›ืœ ื“ื‘ืจ ืฉื”ื•ื ื—ื™ืฆื•ื ื™ ืœืชื”ืœื™ืš ื”-perl ืฉืœืš,
ื›ืžื• ืžืกื“ ื ืชื•ื ื™ื, ืงื•ื‘ืฅ ื˜ืงืกื˜, ืฉืงืข ืื• ืชื•ื›ื ื” ืื—ืจืช. ื’ื ืื ื”ื“ื‘ืจ ืฉืืชื”
ืœืชืงืฉืจ ืขื ื›ืชื•ื‘ ื’ื ื‘ืคืจืœ.

ืžื” if I ืœื ืœึฐืคึทืขึฒื ึตื—ึท?
ื‘ื›ืœ ืคืขื ืฉื”ืžื—ืจื•ื–ืช ื”ื‘ื™ื ืืจื™ืช ื”ืžืงื•ื“ื“ืช ืฉืœืš ืžืฉืžืฉืช ื™ื—ื“ ืขื ืžื—ืจื•ื–ืช ื˜ืงืกื˜, Perl ื™ื ื™ื—
ืฉื”ืžื—ืจื•ื–ืช ื”ื‘ื™ื ืืจื™ืช ืฉืœืš ืงื•ื“ื“ื” ืขื ISO-8859-1, ื”ื™ื“ื•ืข ื’ื ื‘ืฉื ืœื˜ื™ื ื™ืช-1. ืื ื–ื” ืœื ื”ื™ื”
latin-1, ืื– ื”ื ืชื•ื ื™ื ืฉืœืš ืžื•ืžืจื™ื ื‘ืฆื•ืจื” ืœื ื ืขื™ืžื”. ืœื“ื•ื’ืžื”, ืื ื–ื” ื”ื™ื” UTF-8, ื”
ื‘ืชื™ื ื‘ื•ื“ื“ื™ื ืฉืœ ืชื•ื•ื™ื ืžืจื•ื‘ื™ื ื ืชืคืกื™ื ื›ืชื•ื•ื™ื ื ืคืจื“ื™ื, ื•ืื– ืฉื•ื‘
ื”ื•ืžืจ ืœ-UTF-8. ื ื™ืชืŸ ืœื”ืฉื•ื•ืช ืงื™ื“ื•ื“ ื›ืคื•ืœ ื›ื–ื” ืœืงื™ื“ื•ื“ HTML ื›ืคื•ืœ
(">"), ืื• ืงื™ื“ื•ื“ URI ื›ืคื•ืœ (%253E).

ืคืขื ื•ื— ืžืจื•ืžื– ืฉืงื˜ ื–ื” ื™ื“ื•ืข ื‘ืฉื "ืฉื“ืจื•ื’". ื–ื” ืื•ืœื™ ื ืฉืžืข ื—ื™ื•ื‘ื™, ืื‘ืœ ื–ื” ื›ืŸ
ื”ื›ื™ ื˜ื•ื‘ ืœื”ื™ืžื ืข ืžื–ื”.

ืžื” if I ืœื ืœึฐื”ึทืฆึฐืคึผึดื™ืŸ?
ืžื—ืจื•ื–ืช ื”ื˜ืงืกื˜ ืฉืœืš ืชื™ืฉืœื— ื‘ืืžืฆืขื•ืช ื”ื‘ืชื™ื ื‘ืคื•ืจืžื˜ ื”ืคื ื™ืžื™ ืฉืœ Perl. ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื,
ืคืจืœ ืชื–ื”ื™ืจ ืื•ืชืš ืฉืืชื” ืขื•ืฉื” ืžืฉื”ื• ืœื ื‘ืกื“ืจ, ืขื ืื–ื”ืจื” ื™ื“ื™ื“ื•ืชื™ืช:

ืชื• ืจื—ื‘ ื‘ื”ื“ืคืกื” ื‘- example.pl ืฉื•ืจื” 2.

ืžื›ื™ื•ื•ืŸ ืฉื”ืคื•ืจืžื˜ ื”ืคื ื™ืžื™ ื”ื•ื ืœืจื•ื‘ UTF-8, ืงืฉื” ืœื–ื”ื•ืช ื‘ืื’ื™ื ืืœื”, ืžื›ื™ื•ื•ืŸ ืฉ-UTF-8 ื›ืŸ
ื‘ื“ืจืš ื›ืœืœ ื”ืงื™ื“ื•ื“ ืฉืจืฆื™ืช! ืื‘ืœ ืืœ ืชืชืขืฆืœื•, ื•ืืœ ืชืฉืชืžืฉื• ื‘ืขื•ื‘ื“ื” ืฉืœ ืคืจืœ
ื”ืคื•ืจืžื˜ ื”ืคื ื™ืžื™ ื”ื•ื UTF-8 ืœื˜ื•ื‘ืชืš. ืžืงื•ื“ื“ ื‘ืžืคื•ืจืฉ ื›ื“ื™ ืœืžื ื•ืข ื‘ืื’ื™ื ืžื•ื–ืจื™ื, ื•ื›ืŸ
ืœื”ืจืื•ืช ืœืžืชื›ื ืชื™ ืชื—ื–ื•ืงื” ืฉื—ืฉื‘ืชื ืขืœ ื–ื”.

Is ืฉื a ื“ืจืš ืœ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ืœึฐืคึทืขึฒื ึตื—ึท or ืœึฐื”ึทืฆึฐืคึผึดื™ืŸ?
ืื ื›ืœ ื”ื ืชื•ื ื™ื ืฉืžื’ื™ืขื™ื ืžื ืงื•ื“ืช ืื—ื™ื–ื” ืžืกื•ื™ืžืช ืžืงื•ื“ื“ื™ื ื‘ื“ื™ื•ืง ื‘ืื•ืชื• ืื•ืคืŸ, ืืชื” ื™ื›ื•ืœ
ืชื’ื™ื“ ืœืžืขืจื›ืช PerlIO ืœืคืขื ื— ื”ื›ืœ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™, ืขื ืฉื›ื‘ืช ื”"ืงื™ื“ื•ื“". ืื
ืืชื” ืขื•ืฉื” ืืช ื–ื”, ืืชื” ืœื ื™ื›ื•ืœ ืœืฉื›ื•ื— ื‘ื˜ืขื•ืช ืœืคืขื ื— ืื• ืœืงื•ื“ื“ ื™ื•ืชืจ, ืขืœ ื“ื‘ืจื™ื ืฉืžืฉืชืžืฉื™ื
ื”ื™ื“ื™ืช ื”ืฉื›ื‘ืชื™ืช.

ืืชื” ื™ื›ื•ืœ ืœืกืคืง ืฉื›ื‘ื” ื–ื• ื‘ืขืช "ืคืชื™ื—ืช" ื”ืงื•ื‘ืฅ:

ืคืชื— ืืช $fh ืฉืœื™, '>:encoding(UTF-8)', $filename; # ืงื™ื“ื•ื“ ืื•ื˜ื•ืžื˜ื™ ื‘ื›ืชื™ื‘ื”
ืคืชื— ืืช $fh ืฉืœื™, '<:encoding(UTF-8)', $filename; # ืคืขื ื•ื— ืื•ื˜ื•ืžื˜ื™ ื‘ืงืจื™ืื”

ืื• ืื ื›ื‘ืจ ื™ืฉ ืœืš ื™ื“ื™ืช ืงื•ื‘ืฅ ืคืชื•ื—ื”:

binmode $fh, ':encoding(UTF-8)';

ืžื ื”ืœื™ ื”ืชืงื ื™ื ืžืกื•ื™ื™ืžื™ื ืฉืœ ืžืกื“ ื ืชื•ื ื™ื ืขื‘ื•ืจ DBI ื™ื›ื•ืœื™ื ื’ื ืœืงื•ื“ื“ ื•ืœืคืขื ื— ืื•ื˜ื•ืžื˜ื™ืช, ืื‘ืœ ื–ื”ื•
ืœืคืขืžื™ื ืžื•ื’ื‘ืœ ืœืงื™ื“ื•ื“ UTF-8.

ืžื” if I ืœื ืœื“ืขืช ืืฉืจ ื”ึทืฆืคึผึธื ึธื” ื”ื™ื” ื‘ืฉื™ืžื•ืฉ?
ืขืฉื” ื›ืœ ืฉื‘ื™ื›ื•ืœืชืš ื›ื“ื™ ืœื’ืœื•ืช, ื•ืื ืืชื” ืฆืจื™ืš: ื ื—ืฉ. (ืืœ ืชืฉื›ื— ืœืชืขื“ ืืช ืฉืœืš
ื ื—ืฉื• ืขื ื”ืขืจื”.)

ืืชื” ื™ื›ื•ืœ ืœืคืชื•ื— ืืช ื”ืžืกืžืš ื‘ื“ืคื“ืคืŸ ืื™ื ื˜ืจื ื˜ ื•ืœืฉื ื•ืช ืืช ืขืจื›ืช ื”ืชื•ื•ื™ื ืื• ื”ืชื•ื•ื™ื
ืงื™ื“ื•ื“ ืขื“ ืฉืชื•ื›ืœ ืœืืฉืจ ื—ื–ื•ืชื™ืช ืฉื›ืœ ื”ื“ืžื•ื™ื•ืช ื ืจืื•ืช ื›ืžื• ืฉืฆืจื™ืš.

ืื™ืŸ ื“ืจืš ืœื–ื”ื•ืช ื‘ืื•ืคืŸ ืืžื™ืŸ ืืช ื”ืงื™ื“ื•ื“ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™, ืื– ืื ืื ืฉื™ื ืžืžืฉื™ื›ื™ื ืœืฉืœื•ื—
ื”ื ืชื•ื ื™ื ืฉืœืš ืœืœื ื—ื™ื•ื•ื™ ืขืจื›ืช ืชื•ื•ื™ื, ื™ื™ืชื›ืŸ ืฉื™ื”ื™ื” ืขืœื™ืš ืœื—ื ืš ืื•ืชื.

ืคื—ื™ืช I ืœื”ืฉืชืžืฉ Unicode in my ืคืจืœ ืžืงื•ืจื•ืช?
ื›ืŸ ืืชื” ื™ื›ื•ืœ! ืื ื”ืžืงื•ืจื•ืช ืฉืœืš ืžืงื•ื“ื“ื™ื ื‘-UTF-8, ืชื•ื›ืœ ืœืฆื™ื™ืŸ ื–ืืช ื‘ืืžืฆืขื•ืช ื”-"ื”ืฉืชืžืฉ ื‘-utf8"
ืคืจื’ืžื”.

ื”ืฉืชืžืฉ ื‘-utf8;

ื–ื” ืœื ืขื•ืฉื” ืฉื•ื ื“ื‘ืจ ืœืงืœื˜ ืฉืœืš, ืื• ืœืคืœื˜ ืฉืœืš. ื–ื” ืจืง ืžืฉืคื™ืข ืขืœ ื”ื“ืจืš ืฉืœืš
ืงื•ืจืื™ื ืžืงื•ืจื•ืช. ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-Unicode ื‘ืžื™ืœื•ืœื™ ืžื—ืจื•ื–ืช, ื‘ืžื–ื”ื™ื (ืื‘ืœ ื”ื ืขื“ื™ื™ืŸ
ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช "ืชื•ื•ื™ ืžื™ืœื™ื" ืœืคื™ "\w"), ื•ืืคื™ืœื• ื‘ืžืคืจื™ื“ื™ื ืžื•ืชืืžื™ื ืื™ืฉื™ืช.

ื ืชื•ื ื™ื :: Dumper ืœื ืœืฉื—ื–ืจ ืžื” ื”ื™ื Utfxnumx ื“ึถื’ึถืœ; is it ืฉืึธื‘ื•ึผืจ?
ืœื, ื™ื›ื•ืœื•ืช ื”-Unicode ืฉืœ Data::Dumper ื”ืŸ ื›ืคื™ ืฉื”ืŸ ืฆืจื™ื›ื•ืช ืœื”ื™ื•ืช. ื”ื™ื• ื›ืžื”
ืชืœื•ื ื•ืช ืฉืขืœื™ื• ืœืฉื—ื–ืจ ืืช ื“ื’ืœ UTF8 ื›ืืฉืจ ื”ื ืชื•ื ื™ื ื ืงืจืื™ื ืฉื•ื‘ ืขื "eval".
ืขื ื–ืืช, ืืชื” ื‘ืืžืช ืœื ืฆืจื™ืš ืœื”ืกืชื›ืœ ืขืœ ื”ื“ื’ืœ, ื•ืฉื•ื ื“ื‘ืจ ืœื ืžืฆื‘ื™ืข ืขืœ ื›ืš Data::Dumper
ืฆืจื™ืš ืœืฉื‘ื•ืจ ืืช ื”ื›ืœืœ ื”ื–ื”.

ื–ื” ืžื” ืฉืงื•ืจื”: ื›ืฉืคืจืœ ืงื•ืจื ื‘ืžื—ืจื•ื–ืช ืžื™ืœื•ืœื™ืช, ื”ื•ื ื ืฆืžื“ ืœืงื™ื“ื•ื“ ืฉืœ 8 ืกื™ื‘ื™ื•ืช ื‘ืชื•ืจ
ื›ืœ ืขื•ื“ ื–ื” ื™ื›ื•ืœ. (ืื‘ืœ ืื•ืœื™ ื‘ืžืงื•ืจ ื–ื” ื”ื™ื” ืžืงื•ื“ื“ ืคื ื™ืžื™ ื›-UTF-8, ื›ืืฉืจ ืืชื”
ื–ืจืง ืื•ืชื•.) ื›ืืฉืจ ื”ื•ื ืฆืจื™ืš ืœื•ื•ืชืจ ืขืœ ื–ื” ื›ื™ ืชื•ื•ื™ื ืื—ืจื™ื ืžืชื•ื•ืกืคื™ื ืœื˜ืงืกื˜
ืžื—ืจื•ื–ืช, ื–ื” ืžืฉื“ืจื’ ื‘ืฉืงื˜ ืืช ื”ืžื—ืจื•ื–ืช ืœ-UTF-8.

ืื ืืชื” ืžืงื•ื“ื“ ื›ืจืื•ื™ ืืช ื”ืžื—ืจื•ื–ื•ืช ืฉืœืš ืœืคืœื˜, ื›ืœ ื–ื” ืœื ื ื•ื’ืข ืœืš ื•ืœืš
ื™ื›ื•ืœ ืคืฉื•ื˜ "ืœืฉืœื•ื—" ื ืชื•ื ื™ื ื–ืจื•ืงื™ื ื›ืžื• ืชืžื™ื“.

ืœืžื” do regex ืื•ืคื™ ื›ื™ืชื•ืช ืœืคืขืžื™ื ืœื”ืชืื™ื ืจืง in ืžื” ื”ื™ื ASCII ื˜ื•ื•ื—?
ื”ื—ืœ ื‘-Perl 5.14 (ื•ื—ืœืงื™ืช ื‘-Perl 5.12), ืคืฉื•ื˜ ืฉื™ื "ืชื›ื•ื ื” ืฉื™ืžื•ืฉ"
'unicode_strings'" ื‘ืกืžื•ืš ืœืชื—ื™ืœืช ื”ืชื•ื›ื ื™ืช ืฉืœืš. ื‘ืชื•ืš ื”ื”ื™ืงืฃ ื”ืžื™ืœื•ื ื™ ืฉืœื” ืืชื”
ืœื ืืžื•ืจื” ืœื”ื™ื•ืช ื‘ืขื™ื” ื–ื•. ื–ื” ื’ื ืžื•ืคืขืœ ืื•ื˜ื•ืžื˜ื™ืช ืชื—ืช "ื”ืฉืชืžืฉ ื‘ืชื›ื•ื ื” ':5.12'"
ืื• "ื”ืฉืชืžืฉ ื‘ื’ืจืกื” 5.12" ืื• ื‘ืืžืฆืขื•ืช "-E" ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ืขื‘ื•ืจ Perl 5.12 ื•ืžืขืœื”.

ื”ืจืฆื™ื•ื ืœ ืœื“ืจื•ืฉ ื–ืืช ื”ื•ื ืœื ืœืฉื‘ื•ืจ ืชื•ื›ื ื™ื•ืช ื™ืฉื ื•ืช ื™ื•ืชืจ ื”ืžืกืชืžื›ื•ืช ืขืœ ื”ื“ืจืš
ื“ื‘ืจื™ื ืขื‘ื“ื• ืœืคื ื™ ืฉ-Unicode ื”ื’ื™ืข. ื”ืชื•ื›ื ื™ื•ืช ื”ื™ืฉื ื•ืช ื™ื•ืชืจ ื™ื“ืขื• ืจืง ืขืœ ื”-ASCII
ืกื˜ ืชื•ื•ื™ื, ื•ืœื›ืŸ ืขืฉื•ื™ ืฉืœื ืœืคืขื•ืœ ื›ืจืื•ื™ ืขื‘ื•ืจ ืชื•ื•ื™ื ื ื•ืกืคื™ื. ื›ืืฉืจ ืžื—ืจื•ื–ืช ื”ื™ื
ืžืงื•ื“ื“ ื‘-UTF-8, Perl ืžื ื™ื— ืฉื”ืชื•ื›ื ื™ืช ืžื•ื›ื ื” ืœื”ืชืžื•ื“ื“ ืขื Unicode, ืืš ื›ืืฉืจ
ื”ืžื—ืจื•ื–ืช ืœื, ืคืจืœ ืžื ื™ื—ื” ืฉืจืฆื•ื™ ืจืง ASCII, ื•ืœื›ืŸ ื”ื“ืžื•ื™ื•ืช ื”ืืœื”
ืœื ืชื•ื•ื™ ASCII ืื™ื ื ืžื–ื•ื”ื™ื ืœื’ื‘ื™ ืžื” ืฉื”ื ื™ื”ื™ื• ื‘-Unicode. "ื”ืฉืชืžืฉ ื‘ืชื›ื•ื ื”
'unicode_strings'" ืื•ืžืจ ืœืคืจืœ ืœื”ืชื™ื™ื—ืก ืœื›ืœ ื”ืชื•ื•ื™ื ื›ืืœ Unicode, ื‘ื™ืŸ ืื ื”ืžื—ืจื•ื–ืช ื›ืŸ
ืžืงื•ื“ื“ ื‘-UTF-8 ืื• ืœื, ื•ื‘ื›ืš ืœืžื ื•ืข ืืช ื”ื‘ืขื™ื”.

ืขื ื–ืืช, ื‘-Perls ืงื•ื“ืžื™ื, ืื• ืื ืืชื” ืžืขื‘ื™ืจ ืžื—ืจื•ื–ื•ืช ืœืฉื’ืจื•ืช ืžืฉื ื” ืžื—ื•ืฅ ืœืชื›ื•ื ื”
ื‘ื”ื™ืงืฃ, ืืชื” ื™ื›ื•ืœ ืœื›ืคื•ืช ื—ื•ืงื™ Unicode ืขืœ ื™ื“ื™ ืฉื™ื ื•ื™ ื”ืงื™ื“ื•ื“ ืœ-UTF-8 ืขืœ ื™ื“ื™ ื‘ื™ืฆื•ืข
"utf8::upgrade($string)". ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื–ื” ื‘ื‘ื˜ื—ื” ืขืœ ื›ืœ ืžื™ืชืจ, ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ื‘ื•ื“ืง ื•ืœื ืขื•ืฉื” ื–ืืช
ืœืฉื ื•ืช ืžื—ืจื•ื–ื•ืช ืฉื›ื‘ืจ ืฉื•ื“ืจื’ื•.

ืœื“ื™ื•ืŸ ืžืคื•ืจื˜ ื™ื•ืชืจ, ืจืื” Unicode::Semantics ืขืœ CPAN.

ืœืžื” do ื›ืžื” ืชื•ื•ื™ื ืœึนื ื‘ืื•ืชื™ื•ืช ืจื™ืฉื™ื•ืช or ื‘ืื•ืชื™ื•ืช ืงื˜ื ื•ืช ื ื›ื•ื ื”?
ืจืื” ืืช ื”ืชืฉื•ื‘ื” ืœืฉืืœื” ื”ืงื•ื“ืžืช.

ืื™ืš ื™ื›ื•ืœ I ืœืงื‘ื•ืข if a ืžื—ืจื•ื–ืช is a ื˜ึถืงืกื˜ ืžื—ืจื•ื–ืช or a ื‘ื™ื ืจื™ ื—ื•ึผื˜?
ืืชื” ืœื ื™ื›ื•ืœ. ื—ืœืงื ืžืฉืชืžืฉื™ื ื‘ื“ื’ืœ UTF8 ื‘ืฉื‘ื™ืœ ื–ื”, ืื‘ืœ ื–ื” ืฉื™ืžื•ืฉ ืœืจืขื”, ื•ื’ื•ืจื ืœื”ืชื ื”ื’ื•ืช ื˜ื•ื‘ื”
ืžื•ื“ื•ืœื™ื ื›ืžื• Data::Dumper ื ืจืื™ื ืจืข. ื”ื“ื’ืœ ื—ืกืจ ืชื•ืขืœืช ืœืžื˜ืจื” ื–ื•, ื›ื™ ื”ื•ื ื›ื‘ื•ื™
ื›ืืฉืจ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืงื™ื“ื•ื“ ืฉืœ 8 ืกื™ื‘ื™ื•ืช (ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ISO-8859-1) ืœืื—ืกื•ืŸ ื”ืžื—ืจื•ื–ืช.

ื–ื” ืžืฉื”ื• ืฉืืชื”, ื”ืžืชื›ื ืช, ืฆืจื™ืš ืœืขืงื•ื‘ ืื—ืจื™ื•; ืžืฆื˜ืขืจ. ืืชื” ื™ื›ื•ืœ ืœืฉืงื•ืœ
ืื™ืžื•ืฅ ืžืขื™ืŸ "ืกื™ืžืŸ ื”ื•ื ื’ืจื™" ื›ื“ื™ ืœืขื–ื•ืจ ื‘ื›ืš.

ืื™ืš do I ืœื”ืžื™ืจ ื”ื—ืœ ืž- ื”ึทืฆืคึผึธื ึธื” FOO ืœ ื”ึทืฆืคึผึธื ึธื” ื‘ึผึธืจ?
ืขืœ ื™ื“ื™ ื”ืžืจืช ืชื—ื™ืœื” ืืช ืžื—ืจื•ื–ืช ื”ื‘ื™ื˜ื™ื ื”ืžืงื•ื“ื“ืช ื‘-FOO ืœืžื—ืจื•ื–ืช ื˜ืงืกื˜, ื•ืœืื—ืจ ืžื›ืŸ ืืช ืžื—ืจื•ื–ืช ื”ื˜ืงืกื˜
ืœืžื—ืจื•ื–ืช ื‘ืชื™ื ืžืงื•ื“ื“ืช BAR:

my $text_string = decode('FOO', $foo_string);
my $bar_string = encode('BAR', $text_string);

ืื• ืขืœ ื™ื“ื™ ื“ื™ืœื•ื’ ืขืœ ื—ืœืง ืžื—ืจื•ื–ืช ื”ื˜ืงืกื˜, ื•ืžืขื‘ืจ ื™ืฉื™ืจื•ืช ืžืงื™ื“ื•ื“ ื‘ื™ื ืืจื™ ืื—ื“ ืœ-
ืึทื—ึตืจ:

ื”ืฉืชืžืฉ ื‘-Encode qw(from_to);
from_to($string, 'FOO', 'BAR'); # ืžืฉื ื” ืืช ื”ืชื•ื›ืŸ ืฉืœ $string

ืื• ืขืœ ื™ื“ื™ ืžืชืŸ ืืคืฉืจื•ืช ืœืคืขื ื•ื— ื•ืงื™ื“ื•ื“ ืื•ื˜ื•ืžื˜ื™ื™ื ืœืขืฉื•ืช ืืช ื›ืœ ื”ืขื‘ื•ื“ื”:

ืคืชื— ืืช $foofh ืฉืœื™, '<:encoding(FOO)', 'example.foo.txt';
ืคืชื— ืืช $barfh ืฉืœื™, '>:encoding(BAR)', 'example.bar.txt';
ื”ื“ืคืก { $barfh } $_ ื‘ืขื•ื“ <$foofh>;

ืžื” ื™ืฉ ืœื• "decode_utf8" ื• "encode_utf8"?
ืืœื• ื”ื ืชื—ื‘ื™ืจื™ื ื—ืœื•ืคื™ื™ื ืขื‘ื•ืจ "decode('utf8', ...)" ื•-"encode('utf8', ...)".

ืžื” is a "ืจึธื—ึธื‘ ืื•ืคื™"?
ื–ื”ื• ืžื•ื ื— ื”ืžืฉืžืฉ ืœืชื•ื•ื™ื ื”ืชื•ืคืกื™ื ื™ื•ืชืจ ืžื‘ื™ื™ื˜ ืื—ื“.

ืื–ื”ืจืช ืคืจืœ "ื“ืžื•ืช ืจื—ื‘ื” ื‘..." ื ื’ืจืžืช ืขืœ ื™ื“ื™ ื“ืžื•ืช ื›ื–ื•. ืœืœื ืฆื•ื™ืŸ
ืฉื›ื‘ืช ื”ืงื™ื“ื•ื“, Perl ืžื ืกื” ืœื”ืชืื™ื ื“ื‘ืจื™ื ืœื‘ื™ื™ื˜ ื‘ื•ื“ื“. ื›ืฉื”ื™ื ืœื ื™ื›ื•ืœื”, ื”ื™ื ืคื•ืœื˜ืช ืืช ื–ื”
ืื–ื”ืจื” (ืื ืื–ื”ืจื•ืช ืžื•ืคืขืœื•ืช), ื•ืžืฉืชืžืฉ ื‘ืžืงื•ื ื–ืืช ื‘ื ืชื•ื ื™ื ืžืงื•ื“ื“ื™ื UTF-8.

ื›ื“ื™ ืœื”ื™ืžื ืข ืžื”ืื–ื”ืจื” ื–ื• ื•ืœื”ื™ืžื ืข ืžืงื™ื“ื•ื“ื™ ืคืœื˜ ืฉื•ื ื™ื ื‘ื–ืจื ื™ื—ื™ื“,
ืชืžื™ื“ ืฆื™ื™ืŸ ืงื™ื“ื•ื“ ื‘ืื•ืคืŸ ืžืคื•ืจืฉ, ืœืžืฉืœ ืขื ืฉื›ื‘ืช PerlIO:

binmode STDOUT, ": ืงื™ื“ื•ื“ (UTF-8)";

ืคื ื™ืžื™ื•ืช


ืžื” is "ื” Utfxnumx ื“ึถื’ึถืœ"?
ื‘ื‘ืงืฉื”, ืืœื ืื ื›ืŸ ืืชื” ืคื•ืจืฅ ืœื—ืœืงื™ื ื”ืคื ื™ืžื™ื™ื, ืื• ืžื ืคืช ื‘ืื’ื™ื ืžื•ื–ืจื•ืช, ืืœ ืชื—ืฉื•ื‘ ืขืœ
ื“ื’ืœ UTF8 ื‘ื›ืœืœ. ื–ื” ืื•ืžืจ ืฉืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืœื ื›ื“ืื™ ืœื”ืฉืชืžืฉ ื‘-"is_utf8", "_utf8_on" ืื•
"_utf8_off" ื‘ื›ืœืœ.

ื“ื’ืœ UTF8, ื”ื ืงืจื ื’ื SvUTF8, ื”ื•ื ื“ื’ืœ ืคื ื™ืžื™ ื”ืžืฆื™ื™ืŸ ื›ื™ ื”ื–ืจื
ื”ื™ื™ืฆื•ื’ ื”ืคื ื™ืžื™ ื”ื•ื UTF-8. ืœืœื ื”ื“ื’ืœ, ื”ื”ื ื—ื” ื”ื™ื ืฉื”ื•ื ISO-8859-1. ืคืจืœ
ืžืžื™ืจ ื‘ื™ืŸ ืืœื” ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™. (ืœืžืขืฉื” ืคืจืœ ื‘ื“ืจืš ื›ืœืœ ืžื ื™ื—ื” ืืช ื”ื™ื™ืฆื•ื’
ื”ื•ื ASCII; ืจืื” "ืžื“ื•ืข ืžื—ืœืงื•ืช ืชื•ื•ื™ื ืจื’ืงืก ืชื•ืืžื•ืช ืœืคืขืžื™ื ืจืง ื‘ื˜ื•ื•ื— ASCII?"
ืœืขื™ืœ).

ืื—ื“ ื”ืคื•ืจืžื˜ื™ื ื”ืคื ื™ืžื™ื™ื ืฉืœ Perl ื”ื•ื ื‘ืžืงืจื” UTF-8. ืœืžืจื‘ื” ื”ืฆืขืจ, ืคืจืœ ืœื ื™ื›ื•ืœ ืœืฉืžื•ืจ ืขืœ ื
ืกื•ื“, ืื– ื›ื•ืœื ื™ื•ื“ืขื™ื ืขืœ ื–ื”. ื–ื” ื”ืžืงื•ืจ ืœื‘ืœื‘ื•ืœ ืจื‘. ืขื“ื™ืฃ ืœ
ื”ืขืžื“ ืคื ื™ื ืฉื”ืคื•ืจืžื˜ ื”ืคื ื™ืžื™ ื”ื•ื ืงื™ื“ื•ื“ ืœื ื™ื“ื•ืข ื•ืฉืชืžื™ื“ ืฆืจื™ืš ืœืขืฉื•ืช ื–ืืช
ืœืงื•ื“ื“ ื•ืœืคืขื ื— ื‘ืื•ืคืŸ ืžืคื•ืจืฉ.

ืžื” ืขืœ ืžื” ื”ื™ื "ืœื”ืฉืชืžืฉ ื‘ืชื™ื" ืคืจื’ืžื”?
ืืœ ืชืฉืชืžืฉ ื‘ื•. ื–ื” ืœื ื”ื’ื™ื•ื ื™ ืœื”ืชืžื•ื“ื“ ืขื ื‘ืชื™ื ื‘ืžื—ืจื•ื–ืช ื˜ืงืกื˜, ื•ื–ื” ืœื ื”ื’ื™ื•ื ื™
ื›ื“ื™ ืœื”ืชืžื•ื“ื“ ืขื ืชื•ื•ื™ื ื‘ืžื—ืจื•ื–ืช ื‘ืชื™ื. ื‘ืฆืข ืืช ื”ื”ืžืจื•ืช ื”ืžืชืื™ืžื•ืช (ืขืœ ื™ื“ื™
ืคืขื ื•ื—/ืงื™ื“ื•ื“), ื•ื”ื“ื‘ืจื™ื ื™ืกืชื“ืจื• ื”ื™ื˜ื‘: ืืชื” ืžืงื‘ืœ ืกืคื™ืจืช ืชื•ื•ื™ื ืœืคืขื ื•ื—
ื ืชื•ื ื™ื ื•ืกืคื™ืจื•ืช ื‘ืชื™ื ืขื‘ื•ืจ ื ืชื•ื ื™ื ืžืงื•ื“ื“ื™ื.

"ื”ืฉืชืžืฉ ื‘ื‘ืชื™ื" ื”ื•ื ื‘ื“ืจืš ื›ืœืœ ื ื™ืกื™ื•ืŸ ื›ื•ืฉืœ ืœืขืฉื•ืช ืžืฉื”ื• ืžื•ืขื™ืœ. ืคืฉื•ื˜ ืฉื›ื— ืžื–ื”.

ืžื” ืขืœ ืžื” ื”ื™ื "ืœื”ืฉืชืžืฉ ื”ึทืฆืคึผึธื ึธื”" ืคืจื’ืžื”?
ืืœ ืชืฉืชืžืฉ ื‘ื•. ืœืžืจื‘ื” ื”ืฆืขืจ, ื”ื™ื ืžื ื™ื—ื” ืฉื”ืกื‘ื™ื‘ื” ืฉืœ ื”ืžืชื›ื ืช ื•ืฉืœ ื”
ื”ืžืฉืชืžืฉ ื™ืฉืชืžืฉ ื‘ืื•ืชื• ืงื™ื“ื•ื“. ื–ื” ื™ืฉืชืžืฉ ื‘ืื•ืชื• ืงื™ื“ื•ื“ ืขื‘ื•ืจ ืงื•ื“ ื”ืžืงื•ืจ ื•ืขื‘ื•ืจ
STDIN ื•-STDOUT. ื›ืืฉืจ ืชื•ื›ื ื™ืช ืžื•ืขืชืงืช ืœืžื—ืฉื‘ ืื—ืจ, ืงื•ื“ ื”ืžืงื•ืจ ืœื
ืœืฉื ื•ืช, ืื‘ืœ ืกื‘ื™ื‘ืช STDIO ืขืฉื•ื™ื”.

ืื ืืชื” ืฆืจื™ืš ืชื•ื•ื™ื ืฉืื™ื ื ASCII ื‘ืงื•ื“ ื”ืžืงื•ืจ ืฉืœืš, ื”ืคื•ืš ืื•ืชื• ืœืงื•ื‘ืฅ ืžืงื•ื“ื“ UTF-8 ื•
"ื”ืฉืชืžืฉ ื‘-utf8".

ืื ืืชื” ืฆืจื™ืš ืœื”ื’ื“ื™ืจ ืืช ื”ืงื™ื“ื•ื“ ืขื‘ื•ืจ STDIN, STDOUT ื•-STDERR, ืœืžืฉืœ ื‘ื”ืชื‘ืกืก ืขืœ
ื”ืžืงื•ื ืฉืœ ื”ืžืฉืชืžืฉ, "ื”ืฉืชืžืฉ ื‘ืคืชื•ื—".

ืžื” is ืžื” ื”ื™ื ื”ื‘ื“ืœ ื‘ึผึตื™ืŸ ":ื”ึทืฆืคึผึธื ึธื”" ื• ":utf8"?
ืžื›ื™ื•ื•ืŸ ืฉ-UTF-8 ื”ื•ื ืื—ื“ ืžื”ืคื•ืจืžื˜ื™ื ื”ืคื ื™ืžื™ื™ื ืฉืœ Perl, ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื“ืœื’ ืขืœ ื”ืงื™ื“ื•ื“ ืื•
ืฉืœื‘ ืคืขื ื•ื—, ื•ืœืชืคืขืœ ื™ืฉื™ืจื•ืช ืืช ื“ื’ืœ UTF8.

ื‘ืžืงื•ื ":encoding(UTF-8)", ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื”ืฉืชืžืฉ ื‘-":utf8", ืฉืžื“ืœื’ ืขืœ ืฉืœื‘ ื”ืงื™ื“ื•ื“
ืื ื”ื ืชื•ื ื™ื ื›ื‘ืจ ืžื™ื•ืฆื’ื™ื ื›-UTF8 ื‘ืื•ืคืŸ ืคื ื™ืžื™. ื–ื” ืžืงื•ื‘ืœ ื‘ืื•ืคืŸ ื ืจื—ื‘ ื›ื˜ื•ื‘
ื”ืชื ื”ื’ื•ืช ื›ืฉืืชื” ื›ื•ืชื‘, ืื‘ืœ ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืกื•ื›ืŸ ื‘ืงืจื™ืื”, ื›ื™ ื–ื” ื’ื•ืจื
ื—ื•ืกืจ ืขืงื‘ื™ื•ืช ืคื ื™ืžื™ ื›ืืฉืจ ื™ืฉ ืœืš ืจืฆืคื™ ื‘ืชื™ื ืœื ื—ื•ืงื™ื™ื. ืฉื™ืžื•ืฉ ื‘-":utf8" ืœืงืœื˜ ื™ื›ื•ืœ
ืœืคืขืžื™ื ื’ื•ืจืžื•ืช ืœืคืจืฆื•ืช ืื‘ื˜ื—ื”, ืื– ืื ื ื”ืฉืชืžืฉ ื‘-":encoding(UTF-8)" ื‘ืžืงื•ื ื–ืืช.

ื‘ืžืงื•ื "ืคืขื ื•ื—" ื•"ืงื™ื“ื•ื“", ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-"_utf8_on" ื•-"_utf8_off", ืื‘ืœ ื–ื”
ื ื—ืฉื‘ ืœืกื’ื ื•ืŸ ื’ืจื•ืข. ื‘ืžื™ื•ื—ื“ "_utf8_on" ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืกื•ื›ืŸ, ืžืื•ืชื” ืกื™ื‘ื”
":utf8" ื™ื›ื•ืœ.

ื™ืฉ ื›ืžื” ืงื™ืฆื•ืจื™ ื“ืจืš ืœืื•ื ืœื™ื ืจื™ื; ืจืื” -C ื‘-perlrun.

ืžื” ื–ื” ืžื” ื”ื™ื ื”ื‘ื“ืœ ื‘ึผึตื™ืŸ "UTF-8" ื• "utf8"?
"UTF-8" ื”ื•ื ื”ืชืงืŸ ื”ืจืฉืžื™. "utf8" ื”ื™ื ื”ื“ืจืš ืฉืœ ืคืจืœ ืœื”ื™ื•ืช ืœื™ื‘ืจืœื™ ื‘ืžื” ืฉื”ื•ื
ืžืงื‘ืœ. ืื ืืชื” ืฆืจื™ืš ืœืชืงืฉืจ ืขื ื“ื‘ืจื™ื ืฉื”ื ืœื ื›ืœ ื›ืš ืœื™ื‘ืจืœื™ื™ื, ืื•ืœื™ ืชืจืฆื”
ืฉืงื•ืœ ืœื”ืฉืชืžืฉ ื‘-"UTF-8". ืื ืืชื” ืฆืจื™ืš ืœืชืงืฉืจ ืขื ื“ื‘ืจื™ื ืœื™ื‘ืจืœื™ื™ื ืžื“ื™, ืืชื”
ื™ื™ืชื›ืŸ ืฉื™ื”ื™ื” ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘-"utf8". ื”ื”ืกื‘ืจ ื”ืžืœื ื ืžืฆื ื‘-Encode.

"UTF-8" ื™ื“ื•ืข ื‘ืื•ืคืŸ ืคื ื™ืžื™ ื‘ืฉื "utf-8-strict". ื”ืžื“ืจื™ืš ืžืฉืชืžืฉ ื‘-UTF-8 ื‘ืื•ืคืŸ ืขืงื‘ื™, ืืคื™ืœื•
ื›ืืฉืจ utf8 ืžืฉืžืฉ ืœืžืขืฉื” ื‘ืื•ืคืŸ ืคื ื™ืžื™, ืžื›ื™ื•ื•ืŸ ืฉื”ื”ื‘ื—ื ื” ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืงืฉื” ืœื‘ื™ืฆื•ืข, ื•
ืœืจื•ื‘ ืœื ืจืœื•ื•ื ื˜ื™.

ืœื“ื•ื’ืžื”, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-utf8 ืขื‘ื•ืจ ื ืงื•ื“ื•ืช ืงื•ื“ ืฉืื™ื ืŸ ืงื™ื™ืžื•ืช ื‘-Unicode, ื›ืžื• 9999999,
ืื‘ืœ ืื ืืชื” ืžืงื•ื“ื“ ืืช ื–ื” ืœ-UTF-8, ืืชื” ืžืงื‘ืœ ืชื• ื”ื—ืœืคื” (ื›ื‘ืจื™ืจืช ืžื—ื“ืœ; ืจืื”
"ื˜ื™ืคื•ืœ ื‘ื ืชื•ื ื™ื ืฉื’ื•ื™ื™ื" ื‘-Encode ืœืงื‘ืœืช ื“ืจื›ื™ื ื ื•ืกืคื•ืช ืœื”ืชืžื•ื“ื“ ืขื ื–ื”.)

ืื•ืงื™ื™, ืื ืืชื” ืžืชืขืงืฉ: "ื”ืคื•ืจืžื˜ ื”ืคื ื™ืžื™" ื”ื•ื utf8, ืœื UTF-8. (ื›ืฉื–ื” ืœื ืžืฉื”ื• ืื—ืจ
ื”ึทืฆืคึผึธื ึธื”.)

I ืื‘ื•ื“ ืžึทืกืœื•ึผืœ; ืžื” ื”ึทืฆืคึผึธื ึธื” is ืžื” ื”ื™ื ืคื ื™ืžื™ ืคื•ึผืจืžึธื˜ ื‘ึผึถืึฑืžึถืช?
ื–ื” ื˜ื•ื‘ ืฉืื™ื‘ื“ืช ืืช ื”ื›ื™ื•ื•ืŸ, ื›ื™ ืืชื” ืœื ืฆืจื™ืš ืœื”ื™ื•ืช ืชืœื•ื™ ื‘ืคื•ืจืžื˜ ื”ืคื ื™ืžื™
ื›ืœ ืงื™ื“ื•ื“ ืกืคืฆื™ืคื™. ืื‘ืœ ืžื›ื™ื•ื•ืŸ ืฉืฉืืœืช: ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื”ืคื•ืจืžื˜ ื”ืคื ื™ืžื™ ื”ื•ื ืื•
ISO-8859-1 (latin-1), ืื• utf8, ืชืœื•ื™ ื‘ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื”ืžื—ืจื•ื–ืช. ืขืœ EBCDIC
ืคืœื˜ืคื•ืจืžื•ืช, ื–ื” ืขืฉื•ื™ ืœื”ื™ื•ืช ืฉื•ื ื” ืืคื™ืœื•.

ืคืจืœ ื™ื•ื“ืข ืื™ืš ื”ื•ื ืื—ืกืŸ ืืช ื”ืžื—ืจื•ื–ืช ื‘ืื•ืคืŸ ืคื ื™ืžื™, ื•ืชืฉืชืžืฉ ื‘ื™ื“ืข ื”ื–ื” ื›ืฉืืชื”
"ืœึฐื”ึทืฆึฐืคึผึดื™ืŸ". ื‘ืžื™ืœื™ื ืื—ืจื•ืช: ืืœ ืชื ืกื” ืœื‘ืจืจ ืžื” ื”ืงื™ื“ื•ื“ ื”ืคื ื™ืžื™ ืขื‘ื•ืจ ืžืกื•ื™ื
ืžื—ืจื•ื–ืช ื”ื™ื, ืื‘ืœ ื‘ืžืงื•ื ื–ืืช ืคืฉื•ื˜ ืžืงื•ื“ื“ ืื•ืชื” ืœืงื™ื“ื•ื“ ืฉืืชื” ืจื•ืฆื”.

ื”ืฉืชืžืฉ ื‘-perlunifaq ื‘ืื™ื ื˜ืจื ื˜ ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืชื™ onworks.net


ืฉืจืชื™ื ื•ืชื—ื ื•ืช ืขื‘ื•ื“ื” ื‘ื—ื™ื ื

ื”ื•ืจื“ ืืคืœื™ืงืฆื™ื•ืช Windows & Linux

  • 1
    ื™ื•ืžื˜ืจ
    ื™ื•ืžื˜ืจ
    ื›ืœื™ ื ื™ืชื•ื— ื‘ื™ืฆื•ืขื™ I/O.
    ืงื”ืœ: ืžืคืชื—ื™ื, ืžื™ื“ืข
    ื˜ื›ื ื•ืœื•ื’ื™ื”, ืžื“ืข/ืžื—ืงืจ, ืžืขืจื›ืช
    ืžื ื”ืœื™ื. ืžืžืฉืง ืžืฉืชืžืฉ: Win32
    (MS Windows). ืคืจื•ื’ืจ...
    ื”ื•ืจื“ ืืช Iometer
  • 2
    JXplorer - ื“ืคื“ืคืŸ Java Ldap
    JXplorer - ื“ืคื“ืคืŸ Java Ldap
    ืœืงื•ื— Java LDAP ืขื ืชืžื™ื›ื” ื‘-LDIF,
    ืื‘ื˜ื—ื” (ื›ื•ืœืœ SSL, SASL ื•-GSSAPI),
    ืชื•ืจื’ื ืœืฉืคื•ืช ืจื‘ื•ืช (ื›ื•ืœืœ
    ืกื™ื ื™ืช), ืขื–ืจื” ืžืงื•ื•ื ืช, ื˜ืคืกื™ ืžืฉืชืžืฉ ื•
    ืจื‘ื™ื ืื—ืจื™ื...
    ื”ื•ืจื“ ืืช JXplorer - ื“ืคื“ืคืŸ Java Ldap
  • 3
    PosteRazor - ื”ื›ื™ื ื• ืคื•ืกื˜ืจ ืžืฉืœื›ื!
    PosteRazor - ื”ื›ื™ื ื• ืคื•ืกื˜ืจ ืžืฉืœื›ื!
    ืจื•ืฆื™ื ืœื”ื“ืคื™ืก ืคื•ืกื˜ืจ? PosterRazor ื—ืชื›ื™ื
    ืงื•ื‘ืฅ ืชืžื•ื ื” ืœื—ืชื™ื›ื•ืช ื•ืืชื” ื™ื›ื•ืœ
    ื”ื“ืคื™ืกื• ืื– ืขืœ ื”ืžื“ืคืกืช ื•ื”ื“ื‘ื™ืงื• ืื•ืชื
    ื™ื—ื“ ืœื›ืจื–ื”. ืžื‘ื•ืกืก FLTK ืงืœ
    ืœื”ืฉืชืžืฉ...
    ื”ื•ืจื“ ืืช PosteRazor - ืฆื•ืจ ืคื•ืกื˜ืจ ืžืฉืœืš!
  • 4
    Phaser
    Phaser
    Phaser ื”ื™ื ืคืชื™ื—ื” ืžื”ื™ืจื”, ื—ื™ื ืžื™ืช ื•ืžื”ื ื”
    ืžืกื’ืจืช ืžืฉื—ืง ืžืงื•ืจ HTML5 ืฉืžืฆื™ืขื”
    ืขื™ื‘ื•ื“ WebGL ื•-Canvas ืœืจื•ื—ื‘
    ื“ืคื“ืคื ื™ ืื™ื ื˜ืจื ื˜ ืฉื•ืœื—ื ื™ื™ื ื•ื ื™ื™ื“ื™ื. ืžืฉื—ืงื™ื
    ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื•ืชืฃ...
    ื”ื•ืจื“ ืืช Phaser
  • 5
    ืžื ื•ืข VASSAL
    ืžื ื•ืข VASSAL
    VASSAL ื”ื•ื ืžื ื•ืข ืžืฉื—ืง ืœื™ืฆื™ืจื”
    ื’ืจืกืื•ืช ืืœืงื˜ืจื•ื ื™ื•ืช ืฉืœ ืœื•ื— ืžืกื•ืจืชื™
    ื•ืžืฉื—ืงื™ ืงืœืคื™ื. ื–ื” ืžืกืคืง ืชืžื™ื›ื” ืขื‘ื•ืจ
    ืขื™ื‘ื•ื“ ื•ืื™ื ื˜ืจืืงืฆื™ื” ืฉืœ ื—ืœืงื™ ืžืฉื—ืง,
    ื•...
    ื”ื•ืจื“ ืืช VASSAL Engine
  • 6
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF ื”ื™ื ืกืคืจื™ื™ืช Java ืœื™ืฆื™ืจื”
    ื•ืขืจื™ื›ืช ืงื‘ืฆื™ PDF ืขื LGPL ื•
    ืจื™ืฉื™ื•ืŸ ืงื•ื“ ืคืชื•ื— MPL. OpenPDF ื”ื•ื ื”
    ื™ื•ืจืฉ ื”ืงื•ื“ ื”ืคืชื•ื— LGPL/MPL ืฉืœ iText,
    ...
    ื”ื•ืจื“ ืืช OpenPDF - Fork of iText
  • ืขื•ื“ ยป

ืคืงื•ื“ื•ืช ืœื™ื ื•ืงืก

Ad