рдпрд╣ рдХрдорд╛рдВрдб perluniintro рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдХрдИ рдореБрдлреНрдд рдСрдирд▓рд╛рдЗрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреИрд╕реЗ рдХрд┐ рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд╡рд░реНрдХреНрд╕ рдлреНрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд░рдо:
рдирд╛рдо
perluniintro - рдкрд░реНрд▓ рдпреВрдирд┐рдХреЛрдб рдкрд░рд┐рдЪрдп
рд╡рд░реНрдгрди
рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдкрд░реНрд▓ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рджреЗрдЦрдирд╛
рдпреВрдирд┐рдХреЛрдб рдХреЗ рдЕрдзрд┐рдХ рдЧрд╣рди рдЙрдкрдЪрд╛рд░реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП "рдЖрдЧреЗ рдХреЗ рд╕рдВрд╕рд╛рдзрди"ред
рдпреВрдирд┐рдХреЛрдб
рдпреВрдирд┐рдХреЛрдб рдПрдХ рд╡рд░реНрдг рд╕реЗрдЯ рдорд╛рдирдХ рд╣реИ рдЬреЛ рд╕рднреА рд▓реЗрдЦрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╣рд┐рддрд╛рдмрджреНрдз рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ
рджреБрдирд┐рдпрд╛, рд╕рд╛рде рд╣реА рдХрдИ рдЕрдиреНрдп рдкреНрд░рддреАрдХред
рдпреВрдирд┐рдХреЛрдб рдФрд░ рдЖрдИрдПрд╕рдУ/рдЖрдИрдИрд╕реА 10646 рд╕рдордиреНрд╡рд┐рдд рдорд╛рдирдХ рд╣реИрдВ рдЬреЛ рд▓рдЧрднрдЧ рд╕рднреА рдЕрдиреНрдп рдЖрдзреБрдирд┐рдХ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ
рдЪрд░рд┐рддреНрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдорд╛рдирдХ, рдЬрд┐рд╕рдореЗрдВ 80 рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрдЦрди рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рдФрд░ рд╕реИрдХрдбрд╝реЛрдВ рднрд╛рд╖рд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ,
рдЗрд╕рдореЗрдВ рд╕рднреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЖрдзреБрдирд┐рдХ рднрд╛рд╖рд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕рднреА рдкрд╛рддреНрд░ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ
рдЪреАрдиреА, рдЬрд╛рдкрд╛рдиреА рдФрд░ рдХреЛрд░рд┐рдпрд╛рдИ рд╢рдмреНрджрдХреЛрд╢ рднреА рдПрдиреНрдХреЛрдбреЗрдб рд╣реИрдВред рдорд╛рдирдХ рдЕрдВрддрддрдГ рд╣реЛрдВрдЧреЗ
250 рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрдЦрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдФрд░ рд╣рдЬрд╛рд░реЛрдВ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВред
рдпреВрдирд┐рдХреЛрдб 1.0 рдЕрдХреНрдЯреВрдмрд░ 1991 рдореЗрдВ рдФрд░ 6.0 рдЕрдХреНрдЯреВрдмрд░ 2010 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рдпреВрдирд┐рдХреЛрдб рдЪрд░рд┐рддреНрд░ рдПрдХ рдЕрдореВрд░реНрдд рдЗрдХрд╛рдИ рд╣реИ. рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреВрд░реНрдгрд╛рдВрдХ рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реИ
рдЪреМрдбрд╝рд╛рдИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реА рднрд╛рд╖рд╛ "рдЪрд╛рд░" рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдпреВрдирд┐рдХреЛрдб рднрд╛рд╖рд╛-рддрдЯрд╕реНрде рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди-
рддрдЯрд╕реНрде: рдпрд╣ рдкрд╛рда рдХреА рднрд╛рд╖рд╛ рдХреЛ рдПрдиреНрдХреЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдлрд╝реЙрдиреНрдЯ рдпрд╛ рдЕрдиреНрдп рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд▓реЗрдЖрдЙрдЯ рд╡рд┐рд╡рд░рдгред рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдФрд░ рдирд┐рд░реНрдорд┐рдд рдкрд╛рда рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЙрди рдХрд┐рд░рджрд╛рд░реЛрдВ рд╕реЗ.
рдпреВрдирд┐рдХреЛрдб "рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░ рдП" рдпрд╛ "рдЧреНрд░реАрдХ рд╕реНрдореЙрд▓ рд▓реЗрдЯрд░ рдЕрд▓реНрдлрд╛" рдЬреИрд╕реЗ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░
рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛рдПрдБ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрд░рдорд╢рдГ 0x0041 рдФрд░ 0x03B1ред рдЗрди
рдпреВрдирд┐рдХ рдирдВрдмрд░ рдХрд╣рд▓рд╛рддреЗ рд╣реИрдВ рдХреЛрдб рдЕрдВрдХ. рдПрдХ рдХреЛрдб рдмрд┐рдВрджреБ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ
рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рднреАрддрд░ рд╡рд░реНрдг, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░реНрд▓ рдореЗрдВ, рд╢рдмреНрдж
рдХреНрд░рдорд╡рд╛рдЪрдХ рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рд░реВрдк рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпреВрдирд┐рдХреЛрдб рдорд╛рдирдХ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛рдПрдБ
рдЬреИрд╕реЗ 0x0041 рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдмрд╛рдж рдХреЗ рдЕрдиреБрднрд╛рдЧ, "рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдиреЛрдЯреЗрд╢рди" рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
рдпреВрдирд┐рдХреЛрдб рдорд╛рдирдХ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП "U+0041 рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░ рдП" рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдХреЛрдб рдмрд┐рдВрджреБ рдФрд░ рдЪрд░рд┐рддреНрд░ рдХрд╛ рдорд╛рдирдХ рдирд╛рдоред
рдпреВрдирд┐рдХреЛрдб рднреА рд╡рд┐рднрд┐рдиреНрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЧреБрдг рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ "рдЕрдкрд░рдХреЗрд╕" рдпрд╛
"рд▓реЛрдЕрд░рдХреЗрд╕", "рджрд╢рдорд▓рд╡ рдЕрдВрдХ", рдпрд╛ "рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрди"; рдпреЗ рдЧреБрдг рдЗрд╕рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ
рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдирд╛рдо. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рддреНрд░реЛрдВ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрд╢рди рдЬреИрд╕реЗ
рдЕрдкрд░рдХреЗрд╕рд┐рдВрдЧ, рд▓реЛрдЕрд░рдХреЗрд╕рд┐рдВрдЧ рдФрд░ рдХреЛрд▓реЗрдЯрд┐рдВрдЧ (рд╕реЙрд░реНрдЯрд┐рдВрдЧ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рдпреВрдирд┐рдХреЛрдб рддрд╛рд░реНрдХрд┐рдХ "рдЪрд░рд┐рддреНрд░" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдВрддрд░рд┐рдХ рддрддреНрд╡реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ
"рд╡рд░реНрдг" рдпрд╛ рдХреЛрдб рдмрд┐рдВрджреБ. рдкрд╢реНрдЪрд┐рдореА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЖрдзрд╛рд░
рдЪрд░рд┐рддреНрд░ (рдЬреИрд╕реЗ "рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░ рдП") рдХреЗ рдмрд╛рдж рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╕рдВрд╢реЛрдзрдХ (рдкрд╕рдВрдж
"рддреАрд╡реНрд░ рдЙрдЪреНрдЪрд╛рд░рдг рдХрд╛ рд╕рдВрдпреЛрдЬрди")ред рдЖрдзрд╛рд░ рд╡рд░реНрдг рдФрд░ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рдЗрд╕ рдЕрдиреБрдХреНрд░рдо рдХреЛ a рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕рдВрдпреЛрдЬрди рдЪрд░рд┐рддреНрд░ рдЕрдиреБрдХреНрд░рдо. рдХреБрдЫ рдЧреИрд░-рдкрд╢реНрдЪрд┐рдореА рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдореЙрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ,
рдЗрд╕рд▓рд┐рдП рдпреВрдирд┐рдХреЛрдб рдиреЗ рдмрдирд╛рдпрд╛ рдЧреНрд░рдлреАрдо рд╕рдореВрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╡рд┐рд╕реНрддреГрдд рдЧреНрд░рдлреАрдо рд╕рдореВрд╣. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХреЛрд░рд┐рдпрд╛рдИ рд╣рдВрдЧреБрд▓ рд╢рдмреНрджрд╛рдВрд╢ рдХреЛ рдПрдХрд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ
рддрд╛рд░реНрдХрд┐рдХ рдЪрд░рд┐рддреНрд░, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдЗрд╕рдореЗрдВ рддреАрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ: рдПрдХ рдЕрдЧреНрд░рдгреА
рд╡реНрдпрдВрдЬрди рдХреЗ рдмрд╛рдж рдЖрдВрддрд░рд┐рдХ рд╕реНрд╡рд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдкрд┐рдЫрд▓рд╛ рд╡реНрдпрдВрдЬрди рдЖрддрд╛ рд╣реИред
рдЗрди рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЧреНрд░реЗрдлреЗрдо рд╕рдореВрд╣реЛрдВ рдХреЛ "рдЕрдХреНрд╖рд░" рдХрд╣рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рджреЗрдЦрдирд╛ред рдпрджрд┐ рдЖрдк рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдУрд░ рдкреНрд░рд╡реГрддреНрдд рд╣реЛрдВрдЧреЗ
рдПрдХ рдЗрдХрд╛рдИ, рдпрд╛ "рд╡рд░реНрдг" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдХреНрд░рдоред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рдВрдкреВрд░реНрдг
рдЕрдиреБрдХреНрд░рдо рдХреЛ рдПрдХ "рд╡рд░реНрдг" рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрднрд╡рддрдГ рдпрд╣ рд╡реИрд╕рд╛ рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рднрд╛рд╖рд╛ рдХрд╛ рд╕рдВрджрд░реНрдн. рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ, рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗрддреЗ рд╣реИрдВ:
рдПрдХ "рд╡рд░реНрдг" рдПрдХ рдпреВрдирд┐рдХреЛрдб рдХреЛрдб рдмрд┐рдВрджреБ рд╣реИред
рдЖрдзрд╛рд░ рдЪрд░рд┐рддреНрд░ рдФрд░ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рдХреБрдЫ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╡рд╣рд╛рдБ рд╣реИрдВ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рдЕрдХреНрд╖рд░.
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдиреБрдХреНрд░рдо "рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓" рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рд╡рд░реНрдг рд╕рдорддреБрд▓реНрдп рд╣реИ
рдЕрдХреНрд╖рд░ рдП" рдХреЗ рдмрд╛рдж "рддреАрд╡реНрд░ рдЙрдЪреНрдЪрд╛рд░рдг рдХрд╛ рд╕рдВрдпреЛрдЬрди" рдЖрддрд╛ рд╣реИред рдЗрд╕реЗ "рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рдЕрдХреНрд╖рд░ рдП" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреАрд╡реНрд░ рдХреЗ рд╕рд╛рде"ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рд╡рд░реНрдг рдХреЗрд╡рд▓ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
рд╕рдВрдпреЛрдЬрди, рдФрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпреВрдирд┐рдХреЛрдб рдФрд░ рдХреЗ рдмреАрдЪ рд░рд╛рдЙрдВрдб-рдЯреНрд░рд┐рдк рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ
рд╡рд┐рд░рд╛рд╕рдд рдорд╛рдирдХ (рдЬреИрд╕реЗ рдЖрдИрдПрд╕рдУ 8859)ред рдЕрдиреБрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЬреИрд╕рд╛ рдХрд┐ рдпреВрдирд┐рдХреЛрдб рдХрд░рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдХрдИ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЧреНрд░реЗрдлреЗрдо рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдмреБрдирд┐рдпрд╛рджреА рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ (рдХреЛрдб рдмрд┐рдВрджреБ)ред
рд╕рдореВрд╣. рд╕рдорддреБрд▓реНрдп рд░реВрдкреЛрдВ рдХреЗ рдмреАрдЪ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд░реВрдкреЛрдВ рд░рд╣реЗ
рдкрд░рд┐рднрд╛рд╖рд┐рдд рднреА рдХрд┐рдпрд╛ рдЧрдпрд╛. рдЗрд╕ рдкреНрд░рдХрд╛рд░, "рд▓реИрдЯрд┐рди рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рдП рддреАрд╡реНрд░ рдХреЗ рд╕рд╛рде" рдореЗрдВ рд╣реИ рдорд╛рдирдХреАрдХрд░рдг рдкреНрд░рдкрддреНрд░
рдмрдирд╛, (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдПрдирдПрдлрд╕реА), рдФрд░ рдЕрдиреБрдХреНрд░рдо "рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░ рдП" рдХреЗ рдмрд╛рдж
"рддреАрд╡реНрд░ рдЙрдЪреНрдЪрд╛рд░рдг рдХрд╛ рд╕рдВрдпреЛрдЬрди" рдЙрд╕реА рдЪрд░рд┐рддреНрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдорд╛рдирдХреАрдХрд░рдг рдкреНрд░рдкрддреНрд░ рд╡рд┐рдШрдЯрд┐рдд
(рдПрдирдПрдлрдбреА)ред
рд▓реАрдЧреЗрд╕реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг, "рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛
рдЪрд░рд┐рддреНрд░" рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдереЛрдбрд╝рд╛ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ: рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, "рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ
рдЪрд░рд┐рддреНрд░"ред рдПрдХ рд╣реА рдЪрд░рд┐рддреНрд░ рдХреЛ рдХрдИ рд╡рд┐рд░рд╛рд╕рддреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдПрдиреНрдХреЛрдбрд┐рдВрдЧред рдЗрд╕рдХрд╛ рд╡рд┐рдкрд░реАрдд рд╕рддреНрдп рдирд╣реАрдВ рд╣реИ: рдХреБрдЫ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рдХреЛрдИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдиреНрдпрдерд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХ рдХреЗ рднреАрддрд░ рдЕрд╕рдВрдмрджреНрдз рдХреЛрдб рдмрд┐рдВрджреБ рд╣реИрдВред рджреВрд╕рд░реА рдмрд╛рдд, рд╡рд╣рд╛рдБ
рд╡рд┐рд╢реЗрд╖ рдпреВрдирд┐рдХреЛрдб рдирд┐рдпрдВрддреНрд░рдг рд╡рд░реНрдг рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЬрдм рдкрд╣рд▓реА рдмрд╛рд░ рдпреВрдирд┐рдХреЛрдб рдХреА рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рдереА, рддреЛ рдпрд╣ рд╕реЛрдЪрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рднреА рдЕрдХреНрд╖рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
16-рдмрд┐рдЯ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛; рдпрд╛рдиреА рдЕрдзрд┐рдХрддрдо 0x10000 (рдпрд╛ 65,536) рд╡рд░реНрдг рд╣реЛрдВрдЧреЗ
0x0000 рд╕реЗ 0xFFFF рддрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рдЬрд▓реНрдж рд╣реА рдЧрд▓рдд рд╕рд╛рдмрд┐рдд рд╣реБрдЖ, рдФрд░ рдпреВрдирд┐рдХреЛрдб 2.0 рдХреЗ рдмрд╛рдж рд╕реЗ
(рдЬреБрд▓рд╛рдИ 1996), рдпреВрдирд┐рдХреЛрдб рдХреЛ 21 рдмрд┐рдЯреНрд╕ (0x10FFFF) рддрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпреВрдирд┐рдХреЛрдб
3.1 (рдорд╛рд░реНрдЪ 2001) рдиреЗ 0xFFFF рд╕реЗ рдКрдкрд░ рдХреЗ рдкрд╣рд▓реЗ рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред рдкрд╣рд▓реЗ 0x10000 рдЕрдХреНрд╖рд░
рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд┐рдорд╛рди 0рдпрд╛, рдмреБрдирд┐рдпрд╛рджреА рдмрд╣реБрднрд╛рд╖реА рд╡рд┐рдорд╛рди (рдмреАрдПрдордкреА)ред рдпреВрдирд┐рдХреЛрдб 3.1, 17 рдХреЗ рд╕рд╛рде (рд╣рд╛рдБ,
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╕рддреНрд░рд╣) рддрд▓реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛--рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╣реАрдВ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реЗ рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ
рдкрд╛рддреНрд░, рдлрд┐рд░ рднреАред
рдЬрдм рдПрдХ рдирдИ рднрд╛рд╖рд╛ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпреВрдирд┐рдХреЛрдб рдЖрдо рддреМрд░ рдкрд░ "рдмреНрд▓реЙрдХ" рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛
рдЗрд╕рдХреЗ рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдЕрд╕рдВрдмрджреНрдз рдХреЛрдб рдмрд┐рдВрджреБред рдЕрдм рддрдХ, рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
рдЗрди рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╣рдореЗрд╢рд╛ 16 рд╕реЗ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ
рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ, рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕реЗ рдореМрдХреЗ рднреА рдЖрдП рд╣реИрдВ рдЬрдм рдП
рдмрд╛рдж рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЕрддрд┐рд░рд┐рдХреНрдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ рдПрдХ рдирдП рдмреНрд▓реЙрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА
рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╣реАрдВ рдФрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЗ рдирд┐рдХрдЯ рдирд╣реАрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ "рдмреНрд▓реЙрдХ" рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдЖрдпреЛрдЬрди рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдирд╣реАрдВ рдерд╛,
рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдИ рдЧрдИред (рдмрд╛рдж рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдЬреЛрдбрд╝реА рдЧрдИ
рдареАрдХ рд╣реИ, "Script_Extensions" рд╕рдВрдкрддреНрддрд┐ред) рд╡реЗ рдХреЛрдб рдмрд┐рдВрджреБ рдЬреЛ рдУрд╡рд░рдлреНрд▓реЛ рдмреНрд▓реЙрдХ рдореЗрдВ рд╣реИрдВ
рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рдореВрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реА рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╡рдзрд╛рд░рдгрд╛ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХреА рд╕реЗ рдлрд┐рдЯ рдмреИрдарддреА рд╣реИ
рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде: "рд▓реИрдЯрд┐рди" рд▓рд┐рдкрд┐, "рдЧреНрд░реАрдХ" рд▓рд┐рдкрд┐, рдЗрддреНрдпрд╛рджрд┐ рд╣реИ; рдФрд░ рд╡рд╣рд╛рдБ рд╣реИ
рдХрдИ рдХреГрддреНрд░рд┐рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬреИрд╕реЗ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП "рд╕рд╛рдорд╛рдиреНрдп" рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХрд╛рдзрд┐рдХ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬреИрд╕реЗ рдЧрдгрд┐рддреАрдп рдкреНрд░рддреАрдХред рд▓рд┐рдкрд┐рдпрд╛рдБ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреЗрдХреЛрдВ рднрд╛рдЧреЛрдВ рдореЗрдВ рдлреИрд▓реА рд╣реЛрддреА рд╣реИрдВ
рдмреНрд▓реЙрдХ. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдкрд░реНрд▓реБрдирд┐рдХреЛрдб рдореЗрдВ "рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рджреЗрдЦреЗрдВред рдкреНрд░рдЦрдВрдб
рдмреНрд▓реЙрдХ рдореМрдЬреВрдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдХрд╕реНрдорд┐рдХ рд╣реИ - рдХреИрд╕реЗ рдХреА рдПрдХ рдХрд▓рд╛рдХреГрддрд┐
рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдЖрд╡рдВрдЯрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдЕрдиреБрдЪреНрдЫреЗрдж рдореЗрдВ рд╣реИ
рдПрдХ рдкрд░рд┐рдЪрдп рдХреЗ рддреМрд░ рдкрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдЕрддрд┐рд╕рд░рд▓реАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпреВрдирд┐рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИ
рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд▓рд┐рдП рд▓реЗрдЦрди рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ--рдЙрдирдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ; рдФрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ
рдХрдИ рднрд╛рд╖рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреВрдирд┐рдХреЛрдб рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рднреА рдПрдирдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ,
рдЬреИрд╕реЗ рдХрд┐ "рдмреИрдЧреЗрдЬ рдХреНрд▓реЗрдо" рдЬреИрд╕реЗ рдкреНрд░рддреАрдХред)
рдпреВрдирд┐рдХреЛрдб рдХреЛрдб рдмрд┐рдВрджреБ рдХреЗрд╡рд▓ рдЕрдореВрд░реНрдд рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВред рдЗрди рд╕рд╛рд░ рдХреЛ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕рдВрдЦреНрдпрд╛рдПрдБ, рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЕрд╡рд╢реНрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЗрдирдХреЛрдбрд┐рдВрдЧ or рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдХрд┐рд╕реА рддрд░рд╣ред рдпреВрдирд┐рдХреЛрдб рдХрдИ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЪрд░рд┐рддреНрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкреЛрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ UTF-8 рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ. UTF-8 рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд▓рдВрдмрд╛рдИ рд╣реИ
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЬреЛ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЛ 1 рд╕реЗ 4 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд░рддреА рд╣реИред рдЕрдиреНрдп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ UTF-16 рд╢рд╛рдорд┐рд▓ рд╣реИ
рдФрд░ рдпреВрдЯреАрдПрдл-32 рдФрд░ рдЙрдирдХреЗ рдмрдбрд╝реЗ рдФрд░ рдЫреЛрдЯреЗ-рдПрдВрдбрд┐рдпрди рд╡реЗрд░рд┐рдПрдВрдЯ (рдпреВрдЯреАрдПрдл-8 рдмрд╛рдЗрдЯ-рдСрд░реНрдбрд░ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ)ред
рдЖрдИрдПрд╕рдУ/рдЖрдИрдИрд╕реА 10646 рдпреВрд╕реАрдПрд╕-2 рдФрд░ рдпреВрд╕реАрдПрд╕-4 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдлреЙрд░реНрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП--рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд░рд╛рдП рдХреА рдХреЛрдЦ рдФрд░ рдмрд╛рдЗрдЯ
рдЖрджреЗрд╢ рдирд┐рд╢рд╛рди (рдмреАрдУрдПрдо) рд╣реИрдВ--рдкрд░рд▓реБрдирд┐рдХреЛрдб рджреЗрдЦреЗрдВред
рдкрд░реНрд▓ рдХреЗ рдпреВрдирд┐рдХреЛрдб рд╕рд╣рд╛рдпрддрд╛
рдкрд░реНрд▓ v5.6.0 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рдкрд░реНрд▓ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдкрд░реНрд▓
рд╣рд╛рд▓рд╛рдБрдХрд┐, v5.8.0, рдЧрдВрднреАрд░ рдпреВрдирд┐рдХреЛрдб рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдЕрдиреБрд╢рдВрд╕рд┐рдд рд░рд┐рд▓реАрдЬрд╝ рд╣реИред
рд░рдЦрд░рдЦрд╛рд╡ рд░рд┐рд▓реАрдЬрд╝ 5.6.1 рдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдпреВрдирд┐рдХреЛрдб рдХреА рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЕрднреА рднреА рдпреВрдирд┐рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
5.6.1. рдкрд░реНрд▓ v5.14.0 рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝ рд╣реИ рдЬрд╣рд╛рдВ рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди (рд▓рдЧрднрдЧ) рдирд┐рд░реНрдмрд╛рдз рд░реВрдк рд╕реЗ рд╣реИ
рдХреБрдЫ рдЧреЗрдЯреНрдЪрд╛ рдХреЗ рдмрд┐рдирд╛ рдПрдХреАрдХреГрдд (рдХреЛрдЯрдореЗрдЯрд╛ рдореЗрдВ рдХреБрдЫ рдЕрдВрддрд░ рдЕрдкрд╡рд╛рдж рд╣реИ, рдФрд░
рдпрд╣ рдкрд░реНрд▓ 5.16.0 рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕ рдирд┐рд░реНрдмрд╛рдз рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ "рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕реБрд╡рд┐рдзрд╛ 'рдпреВрдирд┐рдХреЛрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕'" (рдпрджрд┐ рдЖрдк "5.012" рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪрдпрдирд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ)ред
рдлрд╝реАрдЪрд░ рджреЗрдЦреЗрдВ. (5.14 рдпреВрдирд┐рдХреЛрдб рдорд╛рдирдХ рд╕реЗ рдХрдИ рдмрдЧ рдФрд░ рд╡рд┐рдЪрд▓рди рдХреЛ рднреА рдареАрдХ рдХрд░рддрд╛ рд╣реИред)
рдкрд░реНрд▓ v5.8.0 рд╕реЗ рдкрд╣рд▓реЗ, "рдпреВрдЬрд╝ utf8" рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛
рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдпреВрдирд┐рдХреЛрдб-рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдЧреАред рдпрд╣ рдореЙрдбрд▓ рдЧрд╝рд▓рдд рдкрд╛рдпрд╛ рдЧрдпрд╛, рдпрд╛ рдкрд░
рдХрдо рд╕реЗ рдХрдо рдЕрдирд╛рдбрд╝реА: "рдпреВрдирд┐рдХреЛрдбрдиреЗрд╕" рдЕрдм рдбреЗрдЯрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЙрд╕рдХреЗ рд╕рд╛рде рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкрд░рд┐рдЪрд╛рд▓рди. рдкрд░реНрд▓ v5.8.0 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдорд╛рдорд▓рд╛ рдмрдЪрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реНрдкрд╖реНрдЯ "рдЙрдкрдпреЛрдЧ" рд╣реЛрддрд╛ рд╣реИ
utf8" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдпрджрд┐ рдЖрдкрдХреА рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ UTF-8 рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдореЗрдВ UTF-8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд╛рдо, рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ, "utf8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рдХрд╣рдХрд░ред
рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реАрдЧреЗрд╕реА 8-рдмрд┐рдЯ рдбреЗрдЯрд╛ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреАред рджреЗрдЦрдирд╛
рдпреВрдЯреАрдПрдл8.
рдкрд░реНрд▓ рдХреЗ рдпреВрдирд┐рдХреЛрдб рдЖрджрд░реНрд╢
рдкрд░реНрд▓ рдЖрда-рдмрд┐рдЯ рджреЗрд╢реА рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдкреНрд░реА-5.6 рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдФрд░ рдпреВрдирд┐рдХреЛрдб рдХреЗ рджреЛрдиреЛрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рдкрд╛рддреНрд░ред рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реНрд▓ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдЖрда-рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ
рдЬрдм рддрдХ рд╕рдВрднрд╡ рд╣реЛ, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдпреВрдирд┐рдХреЛрдбрдиреЗрд╕ рдХреЛ рдЯрд╛рд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рдбреЗрдЯрд╛ рд╣реИ
рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдкрд░реНрд▓ v5.14.0 рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдЧреНрд░реЗрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдерд╛
рдкрд╛рд░рджрд░реНрд╢реА (рдкрд░рд▓реБрдирд┐рдХреЛрдб рдореЗрдВ "рдпреВрдирд┐рдХреЛрдб рдмрдЧ" рджреЗрдЦреЗрдВ), рдФрд░ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП,
рдкреВрд░реНрдг рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рддрдм рддрдХ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рдЬрдм рддрдХ рдХрд┐ "рд╕реБрд╡рд┐рдзрд╛ 'рдпреВрдирд┐рдХреЛрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕' рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ" (рд╕реБрд╡рд┐рдзрд╛ рджреЗрдЦреЗрдВ) рдпрд╛
"5.012 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" (рдпрд╛ рдЙрдЪреНрдЪрддрд░) рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ, рдкрд░реНрд▓ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╛ рддреЛ рдореВрд▓ рдЖрда-рдмрд┐рдЯ рд╡рд░реНрдг рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓реИрдЯрд┐рди-1), рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдПрдирдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпреВрдЯреАрдПрдл-8 рд╣реИред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╕рднреА рдХреЛрдб рдмрд┐рдВрджреБ 0xFF рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╣реИрдВ, рддреЛ рдкрд░реНрд▓ рдиреЗрдЯрд┐рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдЖрда-рдмрд┐рдЯ рд╡рд░реНрдг рд╕реЗрдЯред рдЕрдиреНрдпрдерд╛, рдпрд╣ UTF-8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдкрд░реНрд▓ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рди рд╣реА рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рд╣реЛрддреА рд╣реИ рдХрд┐ рдкрд░реНрд▓ рдЗрд╕реЗ рдХреИрд╕реЗ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ
рдЖрдВрддрд░рд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕, рд▓реЗрдХрд┐рди рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
PerlIO рдкрд░рдд рдХреЗ рдмрд┐рдирд╛ ("рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╡рд╛рд▓рд╛)ред рдРрд╕реЗ рдореЗрдВ рдХрдЪреНрдЪреА рдмрд╛рдЗрдЯреНрд╕
рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдореВрд▓ рд╡рд░реНрдг рд╕реЗрдЯ рдпрд╛ рдпреВрдЯреАрдПрдл-8, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд)ред
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рдЙрди рддрд╛рд░реЛрдВ рдореЗрдВ рдПрдХ "рд╡реНрдпрд╛рдкрдХ рд╡рд░реНрдг" рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреА рдЬрд╛рдПрдЧреА
0x00FF рд╕реЗ рдкрд░реЗ рд╡рд░реНрдг.
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
perl -e 'рдкреНрд░рд┐рдВрдЯ "\x{DF}\n", "\x{0100}\x{DF}\n"'
рджреЗрд╢реА рдмрд╛рдЗрдЯреНрд╕ рдФрд░ рдпреВрдЯреАрдПрдл-8 рдХрд╛ рдХрд╛рдлреА рдмреЗрдХрд╛рд░ рдорд┐рд╢реНрд░рдг рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рднреА рджреЗрддрд╛ рд╣реИ:
рдкреНрд░рд┐рдВрдЯ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдЪрд░рд┐рддреНрд░...
UTF-8 рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ":рдПрдиреНрдХреЛрдбрд┐рдВрдЧ" рдпрд╛ ":utf8" рдЖрдЙрдЯрдкреБрдЯ рд▓реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рддреИрдпрд╛рд░реА
рдмрд┐рдирдореЛрдб(STDOUT, ":utf8");
рдЗрд╕ рдирдореВрдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ UTF-8 рд╣реИ, рдФрд░ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЪреЗрддрд╛рд╡рдиреА.
рдЖрдк рдЕрдкрдиреЗ рдорд╛рдирдХ рдлрд╝рд╛рдЗрд▓ рд╣реИрдВрдбрд▓ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдпреВрдЯреАрдПрдл-8-рдЗрдлрд┐рдХреЗрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ "рдУрдкрди()"
рдкрд░рдд, рдФрд░ @ARGV рдпрд╛ рддреЛ "-C" рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реНрд╡рд┐рдЪ рдпрд╛ "PERL_UNICODE" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, "-C" рд╕реНрд╡рд┐рдЪ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП perlrun рджреЗрдЦреЗрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реНрд▓ рдЕрдиреНрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ: рдпрджрд┐ рдкрд░реНрд▓ рдиреЗ рдХрд┐рдпрд╛ рд╣реИ
рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдПрд╕рдЯреАрдбреАрдЖрдИрдПрди рдпреВрдЯреАрдПрдл-8 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрд╕рдЯреАрдбреАрдЖрдИрдПрди рджреВрд╕рд░реЗ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ
рдХрдорд╛рдВрдб UTF-8 рдирд╣реАрдВ рд╣реИ, рдкрд░реНрд▓ рд╕рдВрднрд╡рддрдГ рд╡рд┐рдХреГрдд UTF-8 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдЧрд╛ред
рдпреВрдирд┐рдХреЛрдб рдФрд░ I/O рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдирдИ PerlIO рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рд▓рдЧрднрдЧ рд╕рднреА рдкрд░реНрд▓ 5.8 рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░реНрд▓рд┐рдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ
"perl -V" рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ "useperlio=define" рдвреВрдВрдв рд░рд╣реЗ рд╣реИрдВред
рдпреВрдирд┐рдХреЛрдб рдФрд░ EBCDIC
рдкрд░реНрд▓ 5.8.0 рдиреЗ рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ред рдЗрд╕ рд╕рдорд░реНрдерди рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рдереА
рдмрд╛рдж рдХреА рд░рд┐рд▓реАрдЬрд╝реЛрдВ рдореЗрдВ рдЪреВрдХ рд╣реЛ рдЧрдИ, рд▓реЗрдХрд┐рди 5.22 рдореЗрдВ рдЗрд╕реЗ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдХреБрдЫ рдЕрдзрд┐рдХ рд╣реИ
рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП perlebcdic рджреЗрдЦреЗрдВ
рдЬрд╛рдирдХрд╛рд░реА.
EBCDIC рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░, рдЖрдВрддрд░рд┐рдХ рдпреВрдирд┐рдХреЛрдб рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдлреЙрд░реНрдо UTF-8 рдХреЗ рдмрдЬрд╛рдп UTF-EBCDIC рд╣реИред
рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ UTF-8 "ASCII-рд╕реБрд░рдХреНрд╖рд┐рдд" рд╣реИ, рдЗрд╕рд▓рд┐рдП ASCII рд╡рд░реНрдг UTF-8 рдореЗрдВ рдПрдиреНрдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВ
рдЬреИрд╕рд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпреВрдЯреАрдПрдл-рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реА "рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реА-рд╕реБрд░рдХреНрд╖рд┐рдд" рд╣реИ, рдЗрд╕рдореЗрдВ рд╕рднреА рдореВрд▓ рдкрд╛рддреНрд░ (рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)
рд╡реЗ рд╕рднреА рдЬрд┐рдирдореЗрдВ ASCII рд╕рдордХрдХреНрд╖ рд╣реИрдВ (рдЬреИрд╕реЗ "рдП", "0", "%", рдЗрддреНрдпрд╛рджрд┐) рджреЛрдиреЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВ
рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реА рдФрд░ рдпреВрдЯреАрдПрдл-рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реАред рдЕрдХреНрд╕рд░, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ UTF-EBCDIC рдХреЗ рдЕрд░реНрде рдореЗрдВ "UTF-8" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рднреАред рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдпрд╣реА рдорд╛рдорд▓рд╛ рд╣реИ.
рдмрдирд╛рдирд╛ рдпреВрдирд┐рдХреЛрдб
рдпрд╣ рдЕрдиреБрднрд╛рдЧ v5.22 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░реНрд▓реНрд╕ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ
рд░рд┐рд▓реАрдЬрд╝ рдиреАрдЪреЗ "рдкреВрд░реНрд╡ рд░рд┐рд▓реАрдЬрд╝ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ" рдЙрдкрдзрд╛рд░рд╛ рдореЗрдВ рд╣реИрдВред
рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдореЗрдВ "\N{...}" рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рддрд╛рд░:
рдореЗрд░рд╛ $smiley_from_name = "\N{рд╕рдлрд╝реЗрдж рдореБрд╕реНрдХреБрд░рд╛рддрд╛ рд╣реБрдЖ рдЪреЗрд╣рд░рд╛}";
рдореЗрд░рд╛ $smiley_from_code_point = "\N{U+263a}";
рдЗрд╕реА рддрд░рд╣, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
$рд╕реНрдорд╛рдЗрд▓реА =~ /\N{рд╕рдлрд╝реЗрдж рдореБрд╕реНрдХреБрд░рд╛рддрд╛ рд╣реБрдЖ рдЪреЗрд╣рд░рд╛}/;
$рд╕реНрдорд╛рдЗрд▓реА =~ /\N{U+263a}/;
рд░рди-рдЯрд╛рдЗрдо рдкрд░ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд╡рд░реНрдгрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ();
рдореЗрд░рд╛ $hebrew_alef_from_name
= charnames::string_vianame("рд╣рд┐рдмреНрд░реВ рдЕрдХреНрд╖рд░ рдПрд▓реЗрдлрд╝");
рдореЗрд░рд╛ $hebrew_alef_from_code_point = charnames::string_vianame('U+05D0');
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, "ord()" рдЗрд╕рдХрд╛ рдЙрд▓рдЯрд╛ рдХрд░реЗрдЧрд╛: рдпрд╣ рдПрдХ рд╡рд░реНрдг рдХреЛ рдПрдХ рдХреЛрдб рдмрд┐рдВрджреБ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
рдЕрдиреНрдп рд░рдирдЯрд╛рдЗрдо рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИрдВред рдЖрдк "рдкреИрдХ()" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдореЗрд░рд╛ $hebrew_alef_from_code_point = рдкреИрдХ("U", 0x05d0);
рдпрд╛ рдЖрдк "chr()" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдХрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ:
$hebrew_alef_from_code_point = chr(utf8::рдпреВрдирд┐рдХреЛрдб_рдЯреВ_рдиреЗрдЯрд┐рд╡(0x05d0));
utf8::upgrade($hebrew_alef_from_code_point);
рдпрджрд┐ рддрд░реНрдХ рд╣реИ рддреЛ "utf8::unicode_to_native()" рдФрд░ "utf8::upgrade()" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
0xFF рд╕реЗ рдКрдкрд░, рдЗрд╕рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛
$hebrew_alef_from_code_point = chr(0x05d0);
рдЪреВрдБрдХрд┐ 0x5d0 255 рд╕реЗ рдКрдкрд░ рд╣реИред
"\x{}" рдФрд░ "\o{}" рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдбрдмрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ-
рдХреЛрдЯрд┐рд╢ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕, рд▓реЗрдХрд┐рди, рдкреБрд░рд╛рдиреЗ рдкрд░реНрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП, рд╡рд╣реА рдирд┐рдпрдо рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ
256 рд╕реЗ рдХрдо рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП "chr()" рдХреЗ рд╕рд╛рдеред
"utf8::unicode_to_native()" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд░реНрд▓ рдХреЛрдб EBCDIC рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛред
рдпрджрд┐ рдЖрдк рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА рдХрднреА рднреА рдЖрдкрдХреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреИрд░-рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реЗрдЧрд╛-
ASCII рдордВрдЪ. рдкрд░реНрд▓ v5.22 рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдХреЗ, ASCII рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХреЙрд▓ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ,
рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рджрдВрдб рдирд╣реАрдВ рд╣реИред рдпрд╛ рдЖрдк рдмрд╕ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдРрд╕реЗ рдирд┐рд░реНрдорд╛рдг рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрди рд╕рднреА рдирд╛рдореЛрдВ рдФрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдХреЛрдбреЛрдВ рдХреЛ рдХреИрд╕реЗ рдвреВрдВрдвреЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП "рдЖрдЧреЗ рдХреЗ рд╕рдВрд╕рд╛рдзрди" рджреЗрдЦреЗрдВред
рдкреВрд░реНрд╡ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ
EBCDIC рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░, v5.22 рд╕реЗ рдкрд╣рд▓реЗ, "\N{U+...}" рдХрд╛ рдЙрдкрдпреЛрдЧ рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
v5.16 рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╡рд░реНрдг рдирд╛рдо рдХреЗ рд╕рд╛рде "\N{...}" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ ("U+..." рдХреЛрдб рдмрд┐рдВрджреБ рдХреЗ рд╡рд┐рдкрд░реАрдд)
"charnames рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдкреВрд░реНрдг" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
v5.14 рд╕реЗ рдкрд╣рд▓реЗ, "\N{...}" рдореЗрдВ рдПрдХ рдЕрдХреНрд╖рд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдмрдЧ рдереЗ (рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд)
"U+..." рдХреЛрдб рдмрд┐рдВрджреБ)ред
"charnames::string_vianame()" рдХреЛ v5.14 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕рдХреЗ рдкрд╣рд▓реЗ,
"charnames::vianame()" рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдЬрдм рддрд░реНрдХ "U+..." рдлрд╝реЙрд░реНрдо рдХрд╛ рд╣реЛред рдЖрдкрдХрд╛
рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рд╡рд░реНрдг рдирд╛рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рд╢рд░реНрдд рд╢рд╛рдпрдж рдпрд╣ рд╣реИ:
рд╡рд░реНрдгрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ();
рдореЗрд░рд╛ $hebrew_alef_from_name
= рдкреИрдХ("U", charnames::vianame("рд╣рд┐рдмреНрд░реВ рдЕрдХреНрд╖рд░ рдПрд▓реЗрдлрд╝"));
рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдпреВрдирд┐рдХреЛрдб
рдпреВрдирд┐рдХреЛрдб рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЕрдзрд┐рдХрд╛рдВрд╢рддрдГ рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ: рдмрд╕ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
"рдЗрдВрдбреЗрдХреНрд╕()", "рд▓реЗрдВрде()", рдФрд░ "рд╕рдмрд╕реНрдЯреНрд░()" рдЬреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ;
рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ (рджреЗрдЦреЗрдВ perlunicode рдФрд░ perlretut)ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░реНрд▓ рдЧреНрд░реИрдлрд╝реЗрдо рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЕрд▓рдЧ рд╡рд░реНрдг рдорд╛рдирддрд╛ рд╣реИ
рдкреНрд░рд┐рдВрдЯ рд▓рдВрдмрд╛рдИ ("\N{рд▓реИрдЯрд┐рди рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ A}\N{рддреАрд╡реНрд░ рдЙрдЪреНрдЪрд╛рд░рдг рдХрд╛ рд╕рдВрдпреЛрдЬрди}"),
"\рдПрди";
2 рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛, 1 рдирд╣реАрдВред рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╡рд╛рдж рдпрд╣ рд╣реИ рдХрд┐ рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдореЗрдВ "\X" рд╣реЛрддрд╛ рд╣реИ
рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЧреНрд░реИрдлреЗрдо рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реБрдЖред (рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ "\X" рдореЗрд▓ рдЦрд╛рдПрдЧрд╛
рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдг рд╡рд░реНрдгреЛрдВ рдХрд╛ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдХреНрд░рдоред)
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рд╡рд┐рд░рд╛рд╕рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, I/O, рдФрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЬреАрд╡рди рдЗрддрдирд╛ рдкрд╛рд░рджрд░реНрд╢реА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ
рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ:
рд╡рд┐рд░рд╛рд╕рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ
рдЬрдм рдЖрдк рд▓реАрдЧреЗрд╕реА рдбреЗрдЯрд╛ рдФрд░ рдпреВрдирд┐рдХреЛрдб рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд▓реАрдЧреЗрд╕реА рдбреЗрдЯрд╛ рдХреЛ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЖрдо рддреМрд░ рдкрд░ рд╡рд┐рд░рд╛рд╕рдд рдбреЗрдЯрд╛ рдХреЛ рдЖрдИрдПрд╕рдУ 8859-1 (рдпрд╛ рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реА, рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ) рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
"рдПрдирдХреЛрдб" рдореЙрдбреНрдпреВрд▓ рдХрдИ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИрдВ
рдЙрди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмреАрдЪ:
рдПрдирдХреЛрдб 'рдбрд┐рдХреЛрдб' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
$рдбреЗрдЯрд╛ = рдбреАрдХреЛрдб('рдЖрдИрдПрд╕рдУ-8859-3', $рдбреЗрдЯрд╛); # рд▓реАрдЧреЗрд╕реА рд╕реЗ рдпреВрдЯреАрдПрдл-8 рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ
рдпреВрдирд┐рдХреЛрдб рдореИрдВ / рд╣реЗ
рдЖрдо рддреМрд░ рдкрд░, рдпреВрдирд┐рдХреЛрдб рдбреЗрдЯрд╛ рд▓рд┐рдЦрдирд╛
рдПрдлрдПрдЪ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ $some_string_with_unicode, "\n";
рдХрдЪреНрдЪреЗ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реНрд▓ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред
рдкрд░реНрд▓ рдХреА рдЖрдВрддрд░рд┐рдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЗрд╕рдореЗрдВ рдореМрдЬреВрдж рд╡рд░реНрдгреЛрдВ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ
рдЙрд╕ рд╕рдордп рд╕реНрдЯреНрд░рд┐рдВрдЧ. рдпрджрд┐ рдХреЛрдИ рднреА рд╡рд░реНрдг рдХреЛрдб рдмрд┐рдВрджреБ 0x100 рдпрд╛ рдЙрд╕рд╕реЗ рдКрдкрд░ рдкрд░ рд╣реИ, рддреЛ рдЖрдк
рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓реЗрдЧреА. рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдЖрдкрдХреЗ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЗрдЪреНрдЫрд╛--рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП--рд╡рд╛рдВрдЫрд┐рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕реНрдЯреНрд░реАрдо рдЦреЛрд▓реЗрдВред рдХреБрдЫ
рдЙрджрд╛рд╣рд░рдг:
FH рдЦреЛрд▓реЗрдВ, ">:utf8", "рдлрд╝рд╛рдЗрд▓";
FH рдЦреЛрд▓реЗрдВ, ">:рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(ucs2)", "рдлрд╝рд╛рдЗрд▓";
FH рдЦреЛрд▓реЗрдВ, ">:рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(UTF-8)", "рдлрд╝рд╛рдЗрд▓";
FH рдЦреЛрд▓реЗрдВ, ">:рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(shift_jis)", "рдлрд╝рд╛рдЗрд▓";
рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдЦреБрд▓реА рд╕реНрдЯреНрд░реАрдо рдкрд░, "рдмрд┐рдирдореЛрдб()" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рдмрд┐рдирдореЛрдб(STDOUT, ":utf8");
рдмрд┐рдирдореЛрдб(STDOUT, ":рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(ucs2)");
рдмрд┐рдирдореЛрдб(STDOUT, ":рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(UTF-8)");
рдмрд┐рдирдореЛрдб(STDOUT, ":рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(shift_jis)");
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдирд╛рдореЛрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдвреАрд▓рд╛ рд╣реИ: рдорд╛рдорд▓рд╛ рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛, рдФрд░ рдХрдИ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ
рдХрдИ рдЙрдкрдирд╛рдо. рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ ":utf8" рдкрд░рдд рдХреЛ рд╣рдореЗрд╢рд╛ рдареАрдХ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
рдпрд╣ рдирд╣реАрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдирд╛рдореЛрдВ рдХреЗ рдвреАрд▓реЗ рдорд┐рд▓рд╛рди рдХреЗ рдЕрдзреАрдиред рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ
":utf8" рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реИрдз рдпреВрдЯреАрдПрдл-8; рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп ":encoding(utf-8)" (рд╣рд╛рдЗрдлрд╝рди рдХреЗ рд╕рд╛рде рдпрд╛ рдЙрд╕рдХреЗ рдмрд┐рдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
":utf8" рдкрд░рдд рдХреЗ рд▓рд┐рдП PerlIO, PerlIO::рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ Encode::PerlIO рджреЗрдЦреЗрдВред
":рдПрдирдХреЛрдбрд┐рдВрдЧ()" рдкрд░рдд, рдФрд░ рдПрдирдХреЛрдб::"рдПрдирдХреЛрдб" рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрдИ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд
рдореЙрдбреНрдпреВрд▓ред
рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдврд╝рдирд╛, рдЬрд┐рд╕реЗ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпреВрдирд┐рдХреЛрдб рдпрд╛ рд▓реАрдЧреЗрд╕реА рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдкрд░реНрд▓ рдХреА рдирдЬрд╝рд░ рдореЗрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЬрд╛рджреБрдИ рддрд░реАрдХреЗ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИред рд╡реИрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреЛрд▓рддреЗ рд╕рдордп рдЙрдЪрд┐рдд рдкрд░рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
рдЦреБрд▓рд╛(рдореЗрд░рд╛ $fh,'<:рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(utf8)', 'рдХреБрдЫ рднреА');
рдореЗрд░рд╛ $line_of_unicode = <$fh>;
рдЦреБрд▓рд╛(рдореЗрд░рд╛ $fh,'<:рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(рдмрд┐рдЧ5)', 'рдХреБрдЫ рднреА');
рдореЗрд░рд╛ $line_of_unicode = <$fh>;
I/O рдкрд░рддреЛрдВ рдХреЛ "рдЦреБрд▓реЗ" рдкреНрд░рд╛рдЧреНрдорд╛ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЦреБрд▓рд╛ рджреЗрдЦреЗрдВ, рдпрд╛
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ.
рдЦреБрд▓реЗ ':рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(utf8)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; # рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╣реЛрдЧреА
# рдпреВрдЯреАрдПрдл-8
X рдЦреЛрд▓реЗрдВ, ">рдлрд╝рд╛рдЗрд▓";
рдПрдХреНрд╕ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ chr(0x100), "\n";
рдПрдХреНрд╕ рдмрдВрдж рдХрд░реЗрдВ;
Y рдЦреЛрд▓реЗрдВ, "
рдкреНрд░рд┐рдВрдЯрдл "%#x\n", рдСрд░реНрдб( ); # рдЗрд╕реЗ 0x100 рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
Y рдмрдВрдж рдХрд░реЗрдВ;
"рдУрдкрди" рдкреНрд░рд╛рдЧреНрдорд╛ рдХреЗ рд╕рд╛рде рдЖрдк ":рд▓реЛрдХреЗрд▓" рдкрд░рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЖрд░рдВрдн { $ENV{LC_ALL} = $ENV{LANG} = 'ru_RU.KOI8-R' }
# :locale рдЬреИрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛
#рдПрд▓рд╕реА_рдСрд▓
open OUT => ':locale' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; # рд░рд╕реНрдХреА рдкрд╛рд░реБрд╕реНрдХреА
рдЦреБрд▓рд╛(O, ">koi8");
рдУ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ chr(0x430); # рдпреВрдирд┐рдХреЛрдб рд╕рд┐рд░рд┐рд▓рд┐рдХ рд▓рдШреБ рдЕрдХреНрд╖рд░ A = KOI8-R 0xc1
рдмрдВрдж рдХрд░реЗрдВ рд╣реЗ;
рдЦреБрд▓рд╛(рдореИрдВ, "
рдкреНрд░рд┐рдВрдЯрдл "%#x\n", ord( ), "\n"; # рдЗрд╕реЗ 0xc1 рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдмрдВрдж рдХрд░реЛ рдореИрдВ;
рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдБ I/O рд╕реНрдЯреНрд░реАрдо рдкрд░ рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЬрдм рдЗрд╕реЗ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧред рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдпреВрдирд┐рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ.
рдУрдкрди рдкреНрд░рд╛рдЧреНрдорд╛ рдбрд┐рдлреЙрд▓реНрдЯ рд▓реЗрдпрд░реНрд╕ рд╕реЗрдЯ рдХрд░рдХреЗ рдкреНрд░рд╛рдЧреНрдорд╛ рдХреЗ рдмрд╛рдж рд╕рднреА "рдУрдкрди ()" рдХреЙрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдХреБрдЫ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕реАрдзреЗ "рдУрдкрди()" рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдкрд░рддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдкреБ рдХрд╛ рд░ рдирд╛ред
рдЖрдк "binmode()" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рдЦреЛрд▓реЗ рдЧрдП рд╕реНрдЯреНрд░реАрдо рдкрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; "рдмрд┐рдирдореЛрдб" рджреЗрдЦреЗрдВ
рдкрд░реНрд▓рдлрдВрдХ рдореЗрдВ.
":рд▓реЛрдХреЗрд▓" рд╡рд░реНрддрдорд╛рди рдореЗрдВ "рдУрдкрди()" рдФрд░ "рдмрд┐рдирдореЛрдб()" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ "рдУрдкрди" рдХреЗ рд╕рд╛рде
рдкреНрд░рд╛рдЧрдорд╛. ":utf8" рдФрд░ ":encoding(...)" рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рднреА "рдУрдкрди()" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред
"рдмрд┐рдирдореЛрдб()", рдФрд░ "рдУрдкрди" рдкреНрд░рд╛рдЧреНрдорд╛ред
рдЗрд╕реА рддрд░рд╣, рдЖрдк рдпреВрдирд┐рдХреЛрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдкрд░ рдЗрди I/O рдкрд░рддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЬрдм рдпрд╣ рд╕реНрдЯреНрд░реАрдо рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рд╕реНрдирд┐рдкреЗрдЯ рдлрд╝рд╛рдЗрд▓ "text.jis" (ISO-2022-JP, рдЙрд░реНрдл тАЛтАЛJIS рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб) рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ
рдлрд╝рд╛рдЗрд▓ "text.utf8", рдЬрд┐рд╕реЗ UTF-8 рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЦреБрд▓рд╛(рдореЗрд░рд╛ $nihongo, '<:encoding(iso-2022-jp)', 'text.jis');
рдЦреБрд▓рд╛(рдореЗрд░рд╛ $рдпреВрдирд┐рдХреЛрдб, '>:utf8', 'text.utf8');
рдЬрдмрдХрд┐ (<$nihongo>) {рдкреНрд░рд┐рдВрдЯ $рдпреВрдирд┐рдХреЛрдб $_ }
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдирд╛рдордХрд░рдг, "рдУрдкрди()" рдФрд░ "рдУрдкрди" рдкреНрд░реИрдЧреНрдорд╛ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдирд╛рдо: "koi8-r" рдФрд░ "KOI8R" рджреЛрдиреЛрдВ рд╕рдордЭреЗ рдЬрд╛рдПрдВрдЧреЗред
рдЖрдИрдПрд╕рдУ, рдПрдордЖрдИрдПрдордИ, рдЖрдИрдПрдПрдирдП рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреНрдп рдорд╛рдирдХреАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╕рд╛рдорд╛рдиреНрдп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ
рд╕рдВрдЧрдарди рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реИрдВ; рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдПрдирдХреЛрдб::рд╕рдорд░реНрдерд┐рдд рджреЗрдЦреЗрдВред
"read()" рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред "рдЦреЛрдЬ()" рдФрд░ "рдмрддрд╛рдУ()"
рдмрд╛рдЗрдЯ рдЧрд┐рдирддреА рдкрд░ рдХрд╛рдо рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ "sysread()" рдФрд░ "sysseek()" рдХрд░рддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрдирдкреБрдЯ рдкрд░ рдХреЛрдИ рд░реВрдкрд╛рдВрддрд░рдг рди рдХрд░рдиреЗ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░рдг рдпрджрд┐
рдХреЛрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд░рдд рдирд╣реАрдВ рд╣реИ, рдЧрд▓рддреА рд╕реЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реИ
рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдПрдиреНрдХреЛрдб рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХрд░реЗрдВ:
# рдЦрд╝рд░рд╛рдм рдХреЛрдб рдЪреЗрддрд╛рд╡рдиреА
рдПрдл рдЦреЛрд▓реЗрдВ, "рдлрд╝рд╛рдЗрд▓";
рд╕реНрдерд╛рдиреАрдп $/; ## 8-рдмрд┐рдЯ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВ
$t= ;
рдПрдл рдмрдВрдж рдХрд░реЗрдВ;
рдЦреБрд▓рд╛ рдПрдл, ">:рдПрдиреНрдХреЛрдбрд┐рдВрдЧ(utf8)", "рдлрд╝рд╛рдЗрд▓";
рдПрдл$рдЯреА рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ; ## рдЖрдЙрдЯрдкреБрдЯ рдкрд░ UTF-8 рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ
рдПрдл рдмрдВрдж рдХрд░реЗрдВ;
рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рджреЛ рдмрд╛рд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдкрдЯреНрдЯрд┐рдХрд╛ рджреЛ рдмрд╛рд░ UTF-8 рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ "рдЙрдкрдпреЛрдЧ
open ':encoding(utf8)'" рд╕реЗ рдмрдЧ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦреЛрд▓рдиреЗ рд╕реЗ рднреА рдкрдЯреНрдЯрд┐рдХрд╛
UTF-8 рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдПред
рдзреНрдпрд╛рди рджреЗрдВ: ":utf8" рдФрд░ ":encoding" рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ рдЬрдм рдЖрдкрдХрд╛ рдкрд░реНрд▓ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛ
PerlIO, рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред
рдкреНрд░рджрд░реНрд╢рд┐рдд рдпреВрдирд┐рдХреЛрдб As рдЯреЗрдХреНрд╕реНрдЯ
рдХрднреА-рдХрднреА рдЖрдк рдпреВрдирд┐рдХреЛрдб рд╡рд╛рд▓реЗ рдкрд░реНрд▓ рд╕реНрдХреЗрд▓рд░реНрд╕ рдХреЛ рд╕рд░рд▓ ASCII (рдпрд╛) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ
рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реА) рдкрд╛рдаред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдмрд░реВрдЯреАрди рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг
255 рд╕реЗ рдЕрдзрд┐рдХ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреЛ "\x{...}", рдирд┐рдпрдВрддреНрд░рдг рд╡рд░реНрдг (рдЬреИрд╕реЗ) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
"\n") рдХреЛ "\x.." рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдЙрдк рдирд╛рдЗрд╕_рд╕реНрдЯреНрд░рд┐рдВрдЧ {
рдЬреЛрдбрд╝рдирд╛("",
рдорд╛рдирдЪрд┐рддреНрд░ { $_ > 255 # рдпрджрд┐ рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдг...
? рд╕реНрдкреНрд░рд┐рдВрдЯрдлрд╝("\\x{%04X}", $_) # \x{...}
: chr($_) =~ /[[:cntrl:]]/ # рдЕрдиреНрдпрдерд╛ рдпрджрд┐ рдирд┐рдпрдВрддреНрд░рдг рд╡рд░реНрдг...
? рд╕реНрдкреНрд░рд┐рдВрдЯрдлрд╝("\\x%02X", $_) # \x..
: quotemeta(chr($_)) # рдЕрдиреНрдпрдерд╛ рдЙрджреНрдзреГрдд рдпрд╛ рд╕реНрд╡рдпрдВ рдХреЗ рд░реВрдк рдореЗрдВ
} рдЕрдирдкреИрдХ("W*", $_[0])); # рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
}
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
Nice_string("foo\x{100}bar\n")
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
'рдлреВ\x{0100}рдмрд╛рд░\x0A'
рдЬреЛ рдЫрдкрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ.
("\\N{}" рдХреЗ рдмрдЬрд╛рдп рдпрд╣рд╛рдВ "\\x{}" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛
рдореВрд▓ рдореВрд▓реНрдп рд╣реИрдВред)
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЗрд╕реЗрд╕
┬╖ рдмрд┐рдЯ рдкреВрд░рдХ рдСрдкрд░реЗрдЯрд░ ~ рдФрд░ рд╡реАрдИрд╕реА ()
рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдмрд┐рдЯ рдкреВрд░рдХ рдСрдкрд░реЗрдЯрд░ "~" рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдкрд░рд┐рдгрд╛рдо рджреЗ рд╕рдХрддрд╛ рд╣реИ
255 рд╕реЗ рдКрдкрд░ рдХреНрд░рдорд┐рдХ рдорд╛рди рд╡рд╛рд▓реЗ рд╡рд░реНрдг рдпреБрдХреНрддред рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ
рд╡рд░реНрдгреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд░реВрдк, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдХреБрдЫ рдХреЗ рд╕рд╛рде рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП
рдРрд╕рд╛ рдордд рдХрд░реЛ. рдЗрд╕реА рддрд░рд╣ "vec()" рдХреЗ рд▓рд┐рдП: рдЖрдк рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ
рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЗ рдмрд┐рдЯ рдкреИрдЯрд░реНрди, рдХреЛрдб рдмрд┐рдВрджреБ рдорд╛рдиреЛрдВ рдкрд░ рдирд╣реАрдВ, рдЬреЛ рдмрд╣реБрдд рд╣реИ
рд╕рдВрднрд╡рддрдГ рд╡рд╣ рдирд╣реАрдВ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред
┬╖ рдкрд░реНрд▓ рдХреА рдЖрдВрддрд░рд┐рдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓рдирд╛
рдкрд░реНрд▓ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрднреА рднреА рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд░реНрд▓ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рдПрдирдХреЛрдб рдХрд░рддрд╛ рд╣реИ
(рдХреНрдпреЛрдВрдХрд┐ рдпреВрдирд┐рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ - рдЗрдирдкреБрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдФрд░ рдЖрдЙрдЯрдкреБрдЯ--рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд I/O рдкрд░рддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЛ рдЕрд╡рд╢реНрдп рд╣реА,
рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рджреЗрдЦрдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред
рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдЕрдВрджрд░ рдЭрд╛рдБрдХрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ
рдЬреЛ рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╣реЛрддреА рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЕрдирдкреИрдХ рдХрд░реЗрдВ ("рд╕реА*", ..." рдпрд╛
UTF-0 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЕрдирдкреИрдХ рдХрд░реЗрдВ ("U8..", ...)":
# рдпрд╣ UTF-4 рдмрд╛рдЗрдЯреНрд╕ 80xc8 0x4 рдХреЗ рд▓рд┐рдП c0 80 рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ
рдкреНрд░рд┐рдВрдЯ рдЬреЙрдЗрди(" ", рдЕрдирдкреИрдХ("U0(H2)*", рдкреИрдХ("U", 0x100))), "\n";
рдлрд┐рд░ рднреА рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдбреЗрд╡реЗрд▓::рдкреАрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
рдкрд░реНрд▓ -рдПрдордбреЗрд╡реЗрд▓::рдкреАрдХ -рдИ 'рдбрдВрдк(chr(0x100))'
рдпрд╣ FLAGS рдореЗрдВ "UTF8" рдзреНрд╡рдЬ рдФрд░ UTF-8 рдмрд╛рдЗрдЯреНрд╕ рдФрд░ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг рджреЛрдиреЛрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ
"рдкреАрд╡реА"ред рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдмрд╛рдж рдореЗрдВ "utf8::is_utf8()" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рднреА рджреЗрдЦреЗрдВ
рд╕рдорд╛рд░реЛрд╣.
рдЙрдиреНрдирдд рд╡рд┐рд╖рдп
┬╖ рд╕реНрдЯреНрд░рд┐рдВрдЧ рддреБрд▓реНрдпрддрд╛
рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рддреБрд▓реНрдпрддрд╛ рдХрд╛ рдкреНрд░рд╢реНрди рдХреБрдЫ рд╣рдж рддрдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдЖрдк рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ
"рдмрд░рд╛рдмрд░" рд╕реЗ рдорддрд▓рдм?
(рдХреНрдпрд╛ "рддреАрд╡реНрд░ рдХреЗ рд╕рд╛рде рд▓реИрдЯрд┐рди рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рдП" "рд▓реИрдЯрд┐рди рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рдП" рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ?)
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реНрд▓ рдХреЗрд╡рд▓ рддреБрд▓реНрдпрддрд╛ ("eq", "ne") рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ
рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдкрд░. рдЙрдкрд░реЛрдХреНрдд рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ 0x00C1
!= 0x0041). рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА, рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ A рдХреЛ рдмрд░рд╛рдмрд░ рдпрд╛ рд╕рдо рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдХрд╛ рдП.
рд▓рдВрдмрд╛ рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЪрд░рд┐рддреНрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдФрд░ рдЖрд╡рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдореБрджреНрджреЗ: рдпреВрдирд┐рдХреЛрдб::рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг, рдпреВрдирд┐рдХреЛрдб рддрдХрдиреАрдХреА рд░рд┐рдкреЛрд░реНрдЯ #15, рдпреВрдирд┐рдХреЛрдб рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рджреЗрдЦреЗрдВ
рдлрд╛рд░реНрдоhttp://www.unicode.org/unicode/reports/tr15> рдФрд░ рдХреЗрд╕ рдореИрдкрд┐рдВрдЧ рдкрд░ рдЕрдиреБрднрд╛рдЧ
рдпреВрдирд┐рдХреЛрдб рдорд╛рдирдХhttp://www.unicode.org>.
рдкрд░реНрд▓ 5.8.0 рдХреЗ рдЕрдиреБрд╕рд╛рд░, "рдкреВрд░реНрдг" рдХреЗрд╕-рдлреЛрд▓реНрдбрд┐рдВрдЧ рдорд╛рдорд▓рд╛ рдореИрдкрд┐рдВрдЧ/рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд░рдг is
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдмрдЧ рдЙрдирдХреЗ рд╕рд╛рде "qr//i" рдореЗрдВ рдмрдиреЗ рд░рд╣реЗ, рдЕрдзрд┐рдХрддрд░ 5.14 рджреНрд╡рд╛рд░рд╛ рдареАрдХ рдХрд░ рджрд┐рдП рдЧрдП, рдФрд░
рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ 5.18 рддрдХред
┬╖ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдпреЛрдЬрди
рд▓реЛрдЧ рдЕрдкрдиреА рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреНрд░рдордмрджреНрдз рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ - рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдпреВрдирд┐рдХреЛрдб рдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реБрдЖред
рд▓реЗрдХрд┐рди рдлрд┐рд░, рдорд┐рд▓рд╛рди рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
(рдХреНрдпрд╛ "рддреАрд╡реНрд░ рдХреЗ рд╕рд╛рде рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░ рдП" "рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░ рдП" рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЖрддрд╛ рд╣реИ?
рдХрдмреНрд░ рдХреЗ рд╕рд╛рде"?)
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкрд░реНрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ ("lt", "le", "cmp", "ge",
"gt") рдХреЗрд╡рд▓ рд╡рд░реНрдгреЛрдВ рдХреЗ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрддреНрддрд░
0x00C1 > 0x00C0 рдХреЗ рдмрд╛рдж рд╕реЗ "рдмрд╛рдж" рд╣реИред
рд▓рдВрдмрд╛ рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ "рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ", рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
(рдХрдо рд╕реЗ рдХрдо) рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдЬрд╛рдирдирд╛ред рдпреВрдирд┐рдХреЛрдб::рдХреЛрд▓реЗрдЯ, рдФрд░ рджреЗрдЦреЗрдВ рдпреВрдирд┐рдХреЛрдб
рдорд┐рд▓рд╛рди рдХрд▓рди рд╡рд┐рдзрд┐ <http://www.unicode.org/unicode/reports/tr10/>
рдХрдИ рддрд░рд╣ рдХрд╛
┬╖ рдЪрд░рд┐рддреНрд░ рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ рдФрд░ рд╡рд░реНрдЧ
рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдмреНрд░реИрдХреЗрдЯреЗрдб рд╡рд░реНрдг рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд░реНрдг рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "/[az]/")
рдФрд░ "tr///" (рдЬрд┐рд╕реЗ "y///" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдСрдкрд░реЗрдЯрд░ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдпреВрдирд┐рдХреЛрдб-рдЬрд╛рдЧрд░реВрдХ рдирд╣реАрдВ рд╣реИрдВред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ "[рдП-рдЬрд╝рд╛-рдЬрд╝]" рдХрд╛ рдЬрд╛рджреБрдИ рдЕрд░реНрде "рд╕рднреА рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдорд┐рдХ" рдирд╣реАрдВ рд╣реЛрдЧрд╛
рдЕрдХреНрд╖рд░" (рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ 8-рдмрд┐рдЯ рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рднреА; рдЙрдирдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╣реИрдВ
рд▓реЛрдХреЗрд╢рдВрд╕ (рдкрд░рд▓реЛрдХреЗрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, "/[[:alpha:]]/" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ 8-рдмрд┐рдЯ-рдЕрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рд╕рдВрдкрддреНрддрд┐ "\p{рдЕрд▓реНрдлрд╛}").
рд╡реЗ рд╕рднреА рдЧреБрдг рдЬреЛ "\p" (рдФрд░ рдЗрд╕рдХрд╛ рдЙрд▓рдЯрд╛ "\P") рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд░реНрдг рд╣реИрдВ
рд╡реЗ рдХрдХреНрд╖рд╛рдПрдБ рдЬреЛ рдпреВрдирд┐рдХреЛрдб рд╕реЗ рдЕрд╡рдЧрдд рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рджрд░реНрдЬрдиреЛрдВ рд╣реИрдВ, рдкреЗрд░рд▓реБрдирд┐рдкреНрд░реЙрдкреНрд╕ рджреЗрдЦреЗрдВред
v5.22 рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдХреЗ, рдЖрдк рдпреВрдирд┐рдХреЛрдб рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдирд┐рдпрдорд┐рдд рдХреЗ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреИрдЯрд░реНрди рд╡рд░реНрдг рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ, рдФрд░ рд╢реНрд░реЗрдгреА рдореЗрдВ рд╕рднреА рдпреВрдирд┐рдХреЛрдб рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ
рд╡реЗ рдмрд┐рдВрджреБ рдЬреЛ рдЙрди рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕реНрдерд┐рдд рд╣реИрдВ, рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реИрдВред
qr/ [\N{U+03]-\N{U+20}] /x
рдХреЛрдб рдмрд┐рдВрджреБ "\N{U+03}", "\N{U+04}", ..., "\N{U+20}" рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
(рдкрд░реНрд▓ v5.24 рдореЗрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ "tr///" рдХреА рд╕реАрдорд╛ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИред)
┬╖ рд╕реНрдЯреНрд░рд┐рдВрдЧ-рдЯреВ-рдирдВрдмрд░ рд░реВрдкрд╛рдВрддрд░рдг
рдпреВрдирд┐рдХреЛрдб рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрдИ рдЕрдиреНрдп рджрд╢рдорд▓рд╡--рдФрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ--рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдкрд░рд┐рдЪрд┐рдд 0 рд╕реЗ 9, рдЬреИрд╕реЗ рдЕрд░рдмреА рдФрд░ рдЗрдВрдбрд┐рдХ рдЕрдВрдХред рдкрд░реНрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛-
ASCII 0 рд╕реЗ 9 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдЕрдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреВ-рдирдВрдмрд░ рд░реВрдкрд╛рдВрддрд░рдг (рдФрд░ ASCII "a" рд╕реЗ "f" рдХреЗ рд▓рд┐рдП
рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓)ред рдХрд┐рд╕реА рднреА рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрд╕рдВрдЦреНрдпрд╛()"рдореЗрдВ
рдпреВрдирд┐рдХреЛрдб :: рдпреВрд╕реАрдбреАред
рдкреНрд░рд╢рди - рдЬрд╡рд╛рдм
┬╖ рдХреНрдпрд╛ рдореЗрд░реА рдкреБрд░рд╛рдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреА?
рдмрд╣реБрдд рд╕рдВрднрд╡рддрдГ рдирд╣реАрдВ. рдЬрдм рддрдХ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдкреБрд░рд╛рдирд╛
рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП. рдПрдХрдорд╛рддреНрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬреЛ
рдпреВрдирд┐рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╣ "chr()" рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИ
255 рд╕реЗ рдЕрдзрд┐рдХ рддрд░реНрдХ рдиреЗ рдПрдХ рд╡рд░реНрдг рдореЛрдбреБрд▓реЛ 255 рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛редchr(300)", рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдерд╛
рдХреЗ рдмрд░рд╛рдмрд░ "chr(45)" рдпрд╛ "-" (ASCII рдореЗрдВ), рдЕрдм рдпрд╣ рдмреНрд░реЗрд╡ рдХреЗ рд╕рд╛рде рд▓реИрдЯрд┐рди рдХреИрдкрд┐рдЯрд▓ рд▓реЗрдЯрд░ I рд╣реИред
┬╖ рдореИрдВ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдпреВрдирд┐рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реВрдБ?
рдмрд╣реБрдд рдХрдо рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рддрдХ рдЖрдк рдпреВрдирд┐рдХреЛрдб рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддреЗ рддрдм рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ
рдбреЗрдЯрд╛ред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпреВрдирд┐рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдирдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ; рдЙрд╕рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рджреЗрдЦреЗрдВ
рдЖрдИ/рдУ рдЪрд░реНрдЪрд╛. рдкреВрд░реНрдг рдирд┐рд░реНрдмрд╛рдз рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдЙрдкрдпреЛрдЧ рд╕реБрд╡рд┐рдзрд╛" рдЬреЛрдбрд╝реЗрдВ
рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ 'unicode_strings'" (рдпрд╛ "5.012" рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред
┬╖ рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдореЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ?
рдЖрдкрдХреЛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП. рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХрд╛ рдкрд░реНрд▓ 5.14.0 рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛ рд╣реИ рдпрд╛ рдЖрдкрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдирд┐рд░реНрджрд┐рд╖реНрдЯ "рд╕реБрд╡рд┐рдзрд╛ 'рдпреВрдирд┐рдХреЛрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рдпрд╛ "5.012 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" (рдпрд╛ рдЙрдЪреНрдЪрддрд░) рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛
128 рд╕реЗ 255 рдХреА рд╕реАрдорд╛ рдореЗрдВ рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдирд┐рдпрдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ
рдХреНрдпрд╛ рд╡реЗ рдЬрд┐рд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рд╡рд╣ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред (рджреЗрдЦреЗрдВ "рдЬрдм рдпреВрдирд┐рдХреЛрдб
рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛" рдкрд░реНрд▓реБрдирд┐рдХреЛрдб рдореЗрдВред)
рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЛрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рдкреНрд░рд┐рдВрдЯ utf8::is_utf8($string)? 1 : 0, "\n";
рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХреЛрдИ рднреА рдЕрдХреНрд╖рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рдпреВрдЯреАрдПрдл-8 рдПрдиреНрдХреЛрдбреЗрдб, рдпрд╛ рдХрд┐рд╕реА рднреА рд╡рд░реНрдг рдХреЗ рдХреЛрдб рдмрд┐рдВрджреБ 0xFF (255) рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ
рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 0x80 (128), рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХреЛрдИ рднреА рдЕрдХреНрд╖рд░ рд╣реИред рд╕рднреА "is_utf8()"
$рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдЬреБрдбрд╝реЗ рдЖрдВрддрд░рд┐рдХ "utf8ness" рдзреНрд╡рдЬ рдХрд╛ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИред
рдпрджрд┐ рдзреНрд╡рдЬ рдмрдВрдж рд╣реИ, рддреЛ рд╕реНрдХреЗрд▓рд░ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдПрдХрд▓ рдмрд╛рдЗрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЭрдВрдбрд╛ рдЪрд╛рд▓реВ рд╣реИ, рддреЛ рдЕрджрд┐рд╢ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ (рдЪрд░-рд▓рдВрдмрд╛рдИ,
рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБ-рдмрд╛рдЗрдЯ) рд╡рд░реНрдгреЛрдВ рдХреЗ рдпреВрдЯреАрдПрдл-8 рдПрдиреНрдХреЛрдбреЗрдб рдХреЛрдб рдмрд┐рдВрджреБред рдмрд╛рдЗрдЯреНрд╕ рдХреЛ a рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
UTF-8 рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ UTF-8 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдЧреИрд░-UTF-8 рдФрд░ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рдП
UTF-8 рд╕реНрдХреЗрд▓рд░ рдХреЛ рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдбрдмрд▓-рдХреЛрдЯреЗрдб рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди, рд╕реНрдкрд╖реНрдЯ рд╕рдВрдпреЛрдЬрди, рдпрд╛
printf/sprintf рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди), рдкрд░рд┐рдгрд╛рдо рдкреНрд░рддрд┐рдпреЛрдВ рдХреА рддрд░рд╣ UTF-8 рдПрдиреНрдХреЛрдбреЗрдб рд╣реЛрдЧрд╛
рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ UTF-8 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
$a = "ab\x80c";
$b = "\x{100}";
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ "$a = $b\n";
рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ UTF-8-рдПрдирдХреЛрдбреЗрдб "ab\x80c = \x{100}\n" рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди $a рдмрд╛рдЗрдЯ рд░рд╣реЗрдЧрд╛-
рдПрдиреНрдХреЛрдбреЗрдбред
рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдмрд╛рдЗрдЯ рд▓рдВрдмрд╛рдИ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ
рдЪрд░рд┐рддреНрд░ рдХреА рд▓рдВрдмрд╛рдИ. рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ "Encode::encode_utf8()" рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
"рдмрд╛рдЗрдЯреНрд╕" рдкреНрд░рд╛рдЧреНрдорд╛ рдФрд░ "рд▓рдВрдмрд╛рдИ ()" рдлрд╝рдВрдХреНрд╢рди:
рдореЗрд░рд╛ $рдпреВрдирд┐рдХреЛрдб= chr(0x100);
рдкреНрд░рд┐рдВрдЯ рд▓рдВрдмрд╛рдИ($рдпреВрдирд┐рдХреЛрдб), "\n"; # 1 рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛
рдПрдиреНрдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
рдкреНрд░рд┐рдВрдЯ рд▓рдВрдмрд╛рдИ(Encode::encode_utf8($unicode)),"\n"; #2 рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛
рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
рдкреНрд░рд┐рдВрдЯ рд▓рдВрдмрд╛рдИ($рдпреВрдирд┐рдХреЛрдб), "\n"; #2 рднреА рдЫрд╛рдкреЗрдВрдЧреЗ
# (UTF-0 рдХрд╛ 4xC0 80x8)
рдХреЛрдИ рдмрд╛рдЗрдЯреНрд╕ рдирд╣реАрдВ;
┬╖ рдореИрдВ рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреМрди рд╕реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╣реИ?
рдЖрдк Encode::Guess рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдХрдИ рд╕реАрдорд╛рдПрдБ рд╣реИрдВред
┬╖ рдореИрдВ рдЙрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ?
рдЗрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдПрдирдХреЛрдб" рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдПрдирдХреЛрдб 'decode_utf8' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
рдпрджрд┐ (eval { decode_utf8($string, Encode::FB_CROAK); 1 }) {
# $string рдорд╛рдиреНрдп utf8 рд╣реИ
рдФрд░} {
# $string рдорд╛рдиреНрдп utf8 рдирд╣реАрдВ рд╣реИ
}
рдпрд╛ рдЗрд╕реЗ рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЕрдирдкреИрдХ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
@chars = unpack("C0U*", $string_of_bytes_that_I_think_is_utf8);
рдпрджрд┐ рдЕрдорд╛рдиреНрдп рд╣реИ, рддреЛ "рд╡рд┐рдХреГрдд UTF-8 рд╡рд░реНрдг" рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред "C0" рдХрд╛ рдЕрд░реНрде рд╣реИ "рдкреНрд░рдХреНрд░рд┐рдпрд╛ред"
рдкреНрд░рддрд┐ рд╡рд░реНрдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд░реНрдг"ред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, "рдЕрдирдкреИрдХ("U*", ...)" рдХрд╛рдо рдХрд░реЗрдЧрд╛
"U0" рдореЛрдб рдореЗрдВ (рдпрджрд┐ рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ "U" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдФрд░ рдпрд╣ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛
рд▓рдХреНрд╖реНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА UTF-8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдЯреНрд╕, рдХреБрдЫ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ
рд╣рд░ рд╕рдордп рдХрд╛рдоред
┬╖ рдореИрдВ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реВрдВ, рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд?
рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЙрддрдирд╛ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдЕрд░реНрде рдореЗрдВ, рдЖрдк рдЬреЛ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдХреЛрдИ рдЦрд╛рд╕ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ: рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реИрдВ
рд╡рд░реНрдг, рдФрд░ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ "рдЕрдХреНрд╖рд░" рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП "рдбреЗрдЯрд╛" рдХреЛ рдХреБрдЫ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рддрдм рддрдХ рд╕рд╛рд░реНрдердХ рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреМрди рд╕рд╛ рдХреИрд░реЗрдХреНрдЯрд░ рд╕реЗрдЯ рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╣реИ
рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рд┐рд░реНрдл рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдм рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реИ?
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдХрдЪреНрдЪрд╛ рдЕрдиреБрдХреНрд░рдо рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ a рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП
рд╡рд┐рд╢реЗрд╖ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, рдЖрдк "рдПрдирдХреЛрдб" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдПрдирдХреЛрдб 'from_to' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
from_to($рдбреЗрдЯрд╛, "рдЖрдЗрд╕реЛ-8859-1", "utf-8"); # рд▓реИрдЯрд┐рди-1 рд╕реЗ рдпреВрдЯреАрдПрдл-8 рддрдХ
"from_to()" рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ $data рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ
рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдкрд░реНрд▓ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдкреНрд░рдХреГрддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИред рдкрд╣рд▓реЗ рднреА рдФрд░ рдмрд╛рдж рдореЗрдВ рднреА
рдХреЙрд▓, рд╕реНрдЯреНрд░рд┐рдВрдЧ $data рдореЗрдВ рдХреЗрд╡рд▓ 8-рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реЛрддрд╛ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдкрд░реНрд▓ рд╣реИ
рдЪрд┐рдВрддрд┐рдд, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ "рд╕рд┐рд╕реНрдЯрдо-рдореВрд▓ 8-рдмрд┐рдЯ рдмрд╛рдЗрдЯреНрд╕" рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕реЗ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ 'рдЕрдиреБрд╡рд╛рдж' рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ;
рдореЗрд░рд╛ $рд╡рд╛рдХреНрдпрд╛рдВрд╢ = "рд╣рд╛рдБ";
рдЕрдиреБрд╡рд╛рдж::from_to($phrase, 'english', 'deutsch');
## рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдореЗрдВ рдЕрдм "рдЬрд╛" рд╢рд╛рдорд┐рд▓ рд╣реИ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдмрджрд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдкреНрд░рдХреГрддрд┐ рдирд╣реАрдВред рдкрд░реНрд▓ рдирд╣реАрдВ рдХрд░рддрд╛
рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЙрд▓ рдХреЗ рдмрд╛рдж рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ
рд╕рдХрд╛рд░рд╛рддреНрдордХред
рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ред рдпрджрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореВрд▓ 8-рдмрд┐рдЯ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИ (рдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред
рдПрдиреНрдХреЛрдбрд┐рдВрдЧ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓реИрдЯрд┐рди-1, рдИрдмреАрд╕реАрдбреАрдЖрдИрд╕реА, рдЖрджрд┐), рдЖрдк рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХ/рдЕрдирдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпреВрдирд┐рдХреЛрдбред
$native_string = рдкреИрдХ("W*", рдЕрдирдкреИрдХ("U*", $Unicode_string));
$рдпреВрдирд┐рдХреЛрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧ = рдкреИрдХ('рдпреВ*', рдЕрдирдкреИрдХ('рдбрдмреНрд▓реНрдпреВ*', $рдиреЗрдЯрд┐рд╡_рд╕реНрдЯреНрд░рд┐рдВрдЧ));
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдХреНрд░рдо рд╣реИ рддреЛ рдЖрдк рдЬрд╛рдирдирд╛ рд╡реИрдз UTF-8 рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реНрд▓ рдХреЛ рдЕрднреА рддрдХ рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ,
рдЖрдк рдкрд░реНрд▓ рдХреЛ рднреА рдЖрд╕реНрддрд┐рдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рдПрдирдХреЛрдб 'decode_utf8' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
$рдпреВрдирд┐рдХреЛрдб = рдбрд┐рдХреЛрдб_рдпреВрдЯреАрдПрдл8($рдмрд╛рдЗрдЯреНрд╕);
рдпрд╛:
$рдпреВрдирд┐рдХреЛрдб = рдкреИрдХ('U0a*', $рдмрд╛рдЗрдЯреНрд╕);
рдЖрдк рд╡реЗ рдмрд╛рдЗрдЯреНрд╕ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ UTF-8 рдЕрдиреБрдХреНрд░рдо рдмрдирд╛рддреЗ рд╣реИрдВ
@рдмрд╛рдЗрдЯреНрд╕ = рдЕрдирдкреИрдХ('рд╕реА*', $рдпреВрдирд┐рдХреЛрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧ)
рдФрд░ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рд╕реБрдЧрдард┐рдд рдпреВрдирд┐рдХреЛрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
$рдпреВрдирд┐рдХреЛрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧ = рдкреИрдХ('рдпреВ*', 0xff, ...)
┬╖ рдореИрдВ рдпреВрдирд┐рдХреЛрдб рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реВрдВ? рдореИрдВ рдпреВрдирд┐рдХреЛрдб рдХреИрд╕реЗ рдЗрдирдкреБрдЯ рдХрд░реВрдВ?
рджреЗрдЦреЛhttp://www.alanwood.net/unicode/> рдФрд░
<http://www.cl.cam.ac.uk/~mgk25/unicode.html>
┬╖ рдпреВрдирд┐рдХреЛрдб рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдпрджрд┐ рдЖрдкрдХрд╛ рд▓реЛрдХреЗрд▓ UTF-8 рд▓реЛрдХреЗрд▓ рд╣реИ, рддреЛ рдкрд░реНрд▓ v5.20 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдкрд░реНрд▓ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЫрдБрдЯрд╛рдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд "LC_COLLATE" рдФрд░ "cmp" рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╢реНрд░реЗрдгрд┐рдпрд╛рдБред
рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдкрд░реНрд▓ 5.16 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд▓реЛрдХреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ':not_characters';
рддрд╛рдХрд┐ рдкрд░реНрд▓ рдЙрдирдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд╕рдХреЗред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рд╕реНрдерд╛рдиреАрдп рд╡рд░реНрдг рд╕реНрд╡рдпрдВ рдпреВрдирд┐рдХреЛрдб рдкрд░/рд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВред рдХреИрд╕реЗ рдХрд░реЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдКрдкрд░ "рдпреВрдирд┐рдХреЛрдб I/O" рджреЗрдЦреЗрдВ
рдЦреБрд▓реЗ ':locale' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдкреЗрд░рд▓реЛрдХреЗрд▓ рдореЗрдВ "рдпреВрдирд┐рдХреЛрдб рдФрд░ рдпреВрдЯреАрдПрдл-8" рдореЗрдВ рд╣реИрдВ,
рдпрджрд┐ рдЖрдк ":not_characters" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЧреЛрдЪрд╛рдЪрд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╖реЛрдбрд╢ рдЖрдзрд╛рд░реА рдиреЛрдЯреЗрд╢рди
рдпреВрдирд┐рдХреЛрдб рдорд╛рдирдХ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ
рдпреВрдирд┐рдХреЛрдб рдХреЛ 256 рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ред рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рднреА рдмрд╕ рдЫреЛрдЯрд╛ рд╣реИ
рджрд╢рдорд▓рд╡ рд╕реЗ рдЕрдзрд┐рдХ. рдЖрдк рджрд╢рдорд▓рд╡ рд╕рдВрдХреЗрддрди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ
рдпреВрдирд┐рдХреЛрдб рдорд╛рдирдХ рдХреЗ рд╕рд╛рде рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред "U+HHHH" рдиреЛрдЯреЗрд╢рди рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдгред
"0x" рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЕрд░реНрде рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЕрдВрдХ 0-9 рд╣реИрдВ рдФрд░ рдПрдПрдл (рдпрд╛ рдПрдПрдл, рдорд╛рдорд▓рд╛
рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛)ред рдкреНрд░рддреНрдпреЗрдХ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдЕрдВрдХ рдЪрд╛рд░ рдмрд┐рдЯреНрд╕ рдпрд╛ рдЖрдзрд╛ рдмрд╛рдЗрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред "рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
0x..., "\n"" рджрд╢рдорд▓рд╡ рдореЗрдВ рдПрдХ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдПрдЧрд╛, рдФрд░ "printf "%x\n", $decimal" рджрд┐рдЦрд╛рдПрдЧрд╛
рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдореЗрдВ рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдПрдБ. рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдХреЗ рдХреЗрд╡рд▓ "рд╣реЗрдХреНрд╕ рдЕрдВрдХ" рд╣реИрдВ
рд╕рдВрдЦреНрдпрд╛, рдЖрдк "рд╣реЗрдХреНрд╕()" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рд┐рдВрдЯ 0x0009, "\n"; #9
рдкреНрд░рд┐рдВрдЯ 0x000a, "\n"; #10
рдкреНрд░рд┐рдВрдЯ 0x000f, "\n"; #15
рдкреНрд░рд┐рдВрдЯ 0x0010, "\n"; #16
рдкреНрд░рд┐рдВрдЯ 0x0011, "\n"; #17
рдкреНрд░рд┐рдВрдЯ 0x0100, "\n"; #256
рдкреНрд░рд┐рдВрдЯ 0x0041, "\n"; #65
рдкреНрд░рд┐рдВрдЯрдл "%x\n", 65; #41
рдкреНрд░рд┐рдВрдЯрдл "%#x\n", 65; # 0x41
рдкреНрд░рд┐рдВрдЯ рд╣реЗрдХреНрд╕ ("41"), "\n"; #65
рдЖрдЧреЗ рд╕рдВрд╕рд╛рдзрди
┬╖ рдпреВрдирд┐рдХреЛрдб рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо
<http://www.unicode.org/>
┬╖ рдпреВрдирд┐рдХреЛрдб рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди
<http://www.unicode.org/unicode/faq/>
┬╖ рдпреВрдирд┐рдХреЛрдб рд╢рдмреНрджрд╛рд╡рд▓реА
<http://www.unicode.org/glossary/>
┬╖ рдпреВрдирд┐рдХреЛрдб рдЕрдиреБрд╢рдВрд╕рд┐рдд рдкрдарди рд╕реВрдЪреА
рдпреВрдирд┐рдХреЛрдб рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо рдХреЗ рдкрд╛рд╕ рд▓реЗрдЦреЛрдВ рдФрд░ рдкреБрд╕реНрддрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдмрд╣реБрдд рдХреБрдЫ рджреЗрддреЗ рд╣реИрдВ
рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдЕрдзрд┐рдХ рдЧрд╣рди рдЙрдкрдЪрд╛рд░:http://unicode.org/resources/readinglist.html>
┬╖ рдпреВрдирд┐рдХреЛрдб рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди
<http://www.unicode.org/unicode/onlinedat/resources.html>
┬╖ HTML, рдлрд╝реЙрдиреНрдЯреНрд╕, рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдФрд░ рдмрд╣реБрднрд╛рд╖реА рд╕рдорд░реНрдерди
<http://www.alanwood.net/unicode/>
┬╖ рдпреВрдирд┐рдХреНрд╕/рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдпреВрдЯреАрдПрдл-8 рдФрд░ рдпреВрдирд┐рдХреЛрдб рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди
<http://www.cl.cam.ac.uk/~mgk25/unicode.html>
┬╖ рд╡рд┐рд░рд╛рд╕рдд рдЪрд░рд┐рддреНрд░ рд╕реЗрдЯ
<http://www.czyborra.com/>http://www.eki.ee/letter/>
┬╖ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреВрдирд┐рдХреЛрдб рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ
"рдпреВрдирд┐рдХреЛрдб::рдпреВрд╕реАрдбреА" рдореЙрдбреНрдпреВрд▓ред
рдпреВрдирд┐рдХреЛрдб IN рдкреБрд░рд╛рдиреЗ рдкрд░реНрд▓реНрд╕
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкрд░реНрд▓ рдХреЛ 5.8.0 рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рддреЛ рднреА рдЖрдк рдХреБрдЫ рдпреВрдирд┐рдХреЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореЙрдбреНрдпреВрд▓ "рдпреВрдирд┐рдХреЛрдб::рд╕реНрдЯреНрд░рд┐рдВрдЧ", "рдпреВрдирд┐рдХреЛрдб::рдореИрдк8", рдФрд░ "рдпреВрдирд┐рдХреЛрдб::рдореИрдк" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред
рд╕реАрдкреАрдПрдПрди рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬреАрдПрдирдпреВ рд░рд┐рдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдкрд░реНрд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЪрд░рд┐рддреНрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдлреНрд░рдВрдЯ-рдПрдВрдб "рдХрдиреНрд╡рд░реНрдЯ::рд░реАрдХреЛрдб"ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдИрдПрд╕рдУ 8859-1 (рд▓реИрдЯрд┐рди-1) рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдпреВрдЯреАрдПрдл-8 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг рд╣реИрдВ рдФрд░
рдкреАрдЫреЗ, рдХреЛрдб рдкреБрд░рд╛рдиреЗ рдкрд░реНрд▓ 5 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
# ISO 8859-1 рд╕реЗ UTF-8
s/([\x80-\xFF])/chr(0xC0|ord($1)>>6).chr(0x80|ord($1)&0x3F)/eg;
# UTF-8 рд╕реЗ ISO 8859-1
s/([\xC2\xC3])([\x80-\xBF])/chr(ord($1)<<6&0xC0|ord($2)&0x3F)/eg;
onworks.net рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд▓рд╛рдЗрди perluniintro рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ