рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрдХ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд╣реБрдиреБрд╣реБрдиреНрдЫ рд░ рддрдкрд╛рдЗрдБ рдПрдиреНрдХреЛрдбрд┐рдЩ рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреБрдирд┐рдХреЛрдб рд▓рдЧрднрдЧ рд╕рдзреИрдВ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реБрдиреЗрдЫред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╡рд┐рдзрд┐ рд╕рдиреНрджрд░реНрднрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫ, рддрд░ рдкреНрд░рд╛рдп: рдпрд╣рд╛рдБ рдкрдирд┐ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЬрд╡рд╛рдл рдЫ - UTF-8ред рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рд░рд╛рдореНрд░реЛ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЦрд░реНрдЪ рдирдЧрд░реА рд╕рдмреИ рдпреБрдирд┐рдХреЛрдб рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдкрдирд┐ рдзреЗрд░реИ рдЬрд╕реЛ рдХреЗрд╕рд╣рд░реВрдорд╛ рдзреЗрд░реИ рдмрд╛рдЗрдЯрд╣рд░реВред рд╕рд╛рдБрдЪреЛ, рд▓реНрдпрд╛рдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рднрдиреНрджрд╛ рдмрдвреА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, "рдзреЗрд░реИ рд╣реЛрдЗрди" рдХрдореНрддрд┐рдорд╛ рдкреНрд░рддрд┐ рд╡рд░реНрдг рджреБрдИ рдмрд╛рдЗрдЯред рдХреЗ рд╣рд╛рдореА рдкреНрд░рд╛рдЧреИрддрд┐рд╣рд╛рд╕рд┐рдХ рдПрдиреНрдХреЛрдбрд┐рдЩрд╣рд░реВрдорд╛ рдлрд░реНрдХрд┐рдиреБ рдмрд┐рдирд╛ рд░рд╛рдореНрд░реЛ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдЬрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдХреЗрд╡рд▓ 256 рдЙрдкрд▓рдмреНрдз рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдорд╛ рд╕реАрдорд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫ?

рддрд▓ рдо рдпрд╕ рдкреНрд░рд╢реНрдирдХреЛ рдЬрд╡рд╛рдл рджрд┐рди рд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдореЗрд░реЛ рдкреНрд░рдпрд╛рд╕рд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рд╣реБрди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫреБ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ UTF-8 рдорд╛ рд░рд╣реЗрдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХрддрд╛ рдердк рдирдЧрд░реА рд╕рдВрд╕рд╛рд░рдХрд╛ рдзреЗрд░реИ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рд▓рд╛рдЗрдирд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдЕрд╕реНрд╡реАрдХрд░рдгред рдо рддреБрд░реБрдиреНрддреИ рдХреЗрд╣рд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЖрд░рдХреНрд╖рдгрд╣рд░реВ рдЧрд░реНрдиреЗрдЫреБ: рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рд╕рдорд╛рдзрд╛рди UTF-8 рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рдпреЛ рдХреЗрд╡рд▓ рдХреЗрд╕рд╣рд░реВрдХреЛ рд╕рд╛рдБрдШреБрд░реЛ рд╕реВрдЪреАрдорд╛ рдЙрдкрдпреБрдХреНрдд рдЫ (рддрд▓рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк), рд░ рдХреБрдиреИ рдкрдирд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдпрд╕рд▓рд╛рдИ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ API (рдЬрд╕рд▓рд╛рдИ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдерд╛рд╣рд╛ рдЫреИрди) рд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рд╣реБрдБрджреИрдиред рдкреНрд░рд╛рдпрдГ, рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбрд┐рдлреНрд▓реЗрдЯ) рдкрд╛рда рдбреЗрдЯрд╛рдХреЛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдХреЛ рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫрдиреНред рдердк рд░реВрдкрдорд╛, рдкрд╣рд┐рд▓реЗ рдиреИ рдореЗрд░реЛ рд╕рдорд╛рдзрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛, рдореИрд▓реЗ рдпреБрдирд┐рдХреЛрдбрдорд╛ рдиреИ рдЕрд╡рд╕реНрдерд┐рдд рдорд╛рдирдХ рдлреЗрд▓рд╛ рдкрд╛рд░реЗ, рдЬрд╕рд▓реЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрджрдЫ - рдпреЛ рдЕрд▓рд┐ рдмрдвреА рдЬрдЯрд┐рд▓ рдЫ (рд░ рдкреНрд░рд╛рдп: рдирд░рд╛рдореНрд░реЛ), рддрд░ рдЕрдЭреИ рдкрдирд┐ рдпреЛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдорд╛рдирдХ рд╣реЛ, рд░ рдХреЗрд╡рд▓ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫреИрдиред рд╕рдБрдЧреИ рдШреБрдБрдбрд╛ рдорд╛ред рдо рдЙрд╣рд╛рдБрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рдмрддрд╛рдЙрдБрдЫреБред

рдпреБрдирд┐рдХреЛрдб рд░ UTF-8 рдХреЛ рдмрд╛рд░реЗрдорд╛

рд╕реБрд░реБ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдХреЗрд╣рд┐ рд╢рдмреНрджрд╣рд░реБ рдпреБрдирд┐рдХреЛрдб ╨╕ UTF-8.

рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, 8-рдмрд┐рдЯ рдПрдиреНрдХреЛрдбрд┐рдЩрд╣рд░реВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реБрдиреНрдереНрдпреЛред рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ, рд╕рдмреИ рдХреБрд░рд╛ рд╕рд░рд▓ рдерд┐рдпреЛ: 256 рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ 0 рджреЗрдЦрд┐ 255 рд╕рдореНрдордХрд╛ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрд╕рдБрдЧ рдЕрдВрдХрд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рд░ 0 рджреЗрдЦрд┐ 255 рд╕рдореНрдордХрд╛ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдПрдХ рдмрд╛рдЗрдЯрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпрджрд┐ рд╣рд╛рдореА рдзреЗрд░реИ рд╕реБрд░реБрдорд╛ рдлрд░реНрдХрд┐рдпреМрдВ рднрдиреЗ, ASCII рдПрдиреНрдХреЛрдбрд┐рдЩ рдкреВрд░реНрдг рд░реВрдкрдорд╛ 7 рдмрд┐рдЯрд╣рд░реВрдорд╛ рд╕реАрдорд┐рдд рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрд╕рдХреЛ рдмрд╛рдЗрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рд╢реВрдиреНрдп рд╣реЛ, рд░ рдзреЗрд░реИ рдЬрд╕реЛ 8-рдмрд┐рдЯ рдПрдиреНрдХреЛрдбрд┐рдЩрд╣рд░реВ рдпрд╕рд╕рдБрдЧ рдЙрдкрдпреБрдХреНрдд рдЫрдиреН (рддрд┐рдиреАрд╣рд░реВ "рдорд╛рдерд┐рд▓реНрд▓реЛ" рдорд╛ рдорд╛рддреНрд░ рдлрд░рдХ рд╣реБрдиреНрдЫрдиреНред рднрд╛рдЧ, рдЬрд╣рд╛рдБ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рдПрдХ рд╣реЛ)ред

рдпреБрдирд┐рдХреЛрдб рддреА рд╕рдЩреНрдХреЗрддрдирд╣рд░реВрдмрд╛рдЯ рдХрд╕рд░реА рдлрд░рдХ рдЫ рд░ рдХрд┐рди рдзреЗрд░реИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд╣рд░реВ рдпрд╕рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫрдиреН - UTF-8, UTF-16 (BE рд░ LE), UTF-32? рдпрд╕рд▓рд╛рдИ рдХреНрд░рдордмрджреНрдз рдЧрд░реМрдВред

рдЖрдзрд╛рд░рднреВрдд рдпреБрдирд┐рдХреЛрдб рдорд╛рдирдХрд▓реЗ рд╡рд░реНрдгрд╣рд░реВ (рд░ рдХреЗрд╣реА рдЕрд╡рд╕реНрдерд╛рдорд╛, рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХрд╣рд░реВ) рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рдмреАрдЪрдХреЛ рдкрддреНрд░рд╛рдЪрд╛рд░рд▓рд╛рдИ рдорд╛рддреНрд░ рд╡рд░реНрдгрди рдЧрд░реНрджрдЫред рд░ рдпрд╕ рдорд╛рдирдХрдорд╛ рдзреЗрд░реИ рд╕рдореНрднрд╛рд╡рд┐рдд рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рдЫрдиреН - рдмрд╛рдЯ 0x00 рдЧрд░реНрди 0x10FFFF (1 рдЯреБрдХреНрд░рд╛)ред рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдпрд╕реНрддреЛ рджрд╛рдпрд░рд╛рдорд╛ рдПрдЙрдЯрд╛ рд╕рдВрдЦреНрдпрд╛рд▓рд╛рдИ рдЪрд░рдорд╛ рд░рд╛рдЦреНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ рднрдиреЗ, рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ 114 рд╡рд╛ 112 рдмрд╛рдЗрдЯрд╣рд░реВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реБрдиреЗрдЫреИрдиред рд░ рд╣рд╛рдореНрд░рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВ рддреАрди-рдмрд╛рдЗрдЯ рдирдореНрдмрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХрд╛ рдЫреИрдирдиреН, рд╣рд╛рдореА рдкреНрд░рддрд┐ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ 1 рдмрд╛рдЗрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдмрд╛рдзреНрдп рд╣реБрдиреЗрдЫреМрдВ! рдпреЛ UTF-2 рд╣реЛ, рддрд░ рдпреЛ "рдЕрдкрд╢рд┐рд╖реНрдЯрддрд╛" рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рдпреЛ рдврд╛рдБрдЪрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЫреИрдиред

рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рдпреБрдирд┐рдХреЛрдб рднрд┐рддреНрд░ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рдХреНрд░рдо рдЕрдирд┐рдпрдорд┐рдд рдЫреИрдиред рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рдореНрдкреВрд░реНрдг рд╕реЗрдЯ 17 рдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЫ "рд╡рд┐рдорд╛рдирд╣рд░реВ", рдЬрд╕рдорд╛ рдкреНрд░рддреНрдпреЗрдХрдорд╛ 65536 (0x10000) ┬лрдХреЛрдб рдЕрдВрдХ" рдпрд╣рд╛рдБ "рдХреЛрдб рдкреЛрдЗрдиреНрдЯ" рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕рд░рд▓ рдЫ рд╡рд░реНрдг рд╕рдВрдЦреНрдпрд╛, рдпреБрдирд┐рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдпрд╕рд▓рд╛рдИ рддреЛрдХрд┐рдПрдХреЛред рддрд░, рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдЭреИрдВ, рдпреБрдирд┐рдХреЛрдбрдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдорд╛рддреНрд░ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдЫреИрдирдиреН, рддрд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд░ рд╕реЗрд╡рд╛ рдЪрд┐рдиреНрд╣рд╣рд░реВ рдкрдирд┐ (рд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдХреЗрд╣рд┐ рдкрдирд┐ рд╕рдВрдЦреНрдпрд╛рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрди - рд╕рд╛рдпрдж рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐, рддрд░ рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдпреЛ рддреНрдпрддрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫреИрди), рддреНрдпрд╕реИрд▓реЗред рдпреЛ рдЕрдзрд┐рдХ рд╕рд╣реА рдЫ рд╕рдзреИрдВ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рдкреНрд░рддреАрдХрд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рд╣реЛрдЗрдиред рдЬреЗ рд╣реЛрд╕реН, рдирд┐рдореНрдирдорд╛, рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛рдХреЛ рдЦрд╛рддрд┐рд░, рдо рдкреНрд░рд╛рдпрдГ "рдХреЛрдб рдкреЛрдЗрдиреНрдЯ" рд╢рдмреНрджрд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджреИ "рдкреНрд░рддреАрдХ" рд╢рдмреНрдж рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреБред

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ
рдпреБрдирд┐рдХреЛрдб рд╡рд┐рдорд╛рдирд╣рд░реВред рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреЗ рд░реВрдкрдорд╛, рдпрд╕рдХреЛ рдзреЗрд░реИрдЬрд╕реЛ (рд╡рд┐рдорд╛рди 4 рджреЗрдЦрд┐ 13) рдЕрдЭреИ рдкреНрд░рдпреЛрдЧ рдирдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕рдмреИрднрдиреНрджрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдХреБрд░рд╛ рдХреЗ рд╣реЛ рднрдиреЗ рд╕рдмреИ рдореБрдЦреНрдп "рдкрд▓реНрдк" рд╢реВрдиреНрдп рд╕рдорддрд▓рдорд╛ рд╣реБрдиреНрдЫ, рдпрд╕рд▓рд╛рдИ рднрдирд┐рдиреНрдЫ "рдЖрдзрд╛рд░рднреВрдд рдмрд╣реБрднрд╛рд╖реА рд╡рд┐рдорд╛рди"ред рдпрджрд┐ рдХреБрдиреИ рдкрдЩреНрдХреНрддрд┐рдорд╛ рдХреБрдиреИ рдПрдХ рдЖрдзреБрдирд┐рдХ рднрд╛рд╖рд╛ (рдЪрд┐рдирд┐рдпрд╛рдБ рд╕рд╣рд┐рдд) рдорд╛ рдкрд╛рда рд╕рдорд╛рд╡реЗрд╢ рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВ рдпреЛ рдкреНрд▓реЗрдирднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рди рд╕рдХреНрдиреБрд╣реБрдиреНрдиред рддрд░ рддрдкрд╛рдИрдВрд▓реЗ рдмрд╛рдБрдХреА рдпреБрдирд┐рдХреЛрдбрд▓рд╛рдИ рдкрдирд┐ рдХрд╛рдЯреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрди - рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЗрдореЛрдЬреА рдореБрдЦреНрдп рд░реВрдкрдорд╛ рдпрд╕рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреНрдЫрдиреНред рдЕрд░реНрдХреЛ рд╡рд┐рдорд╛рди"рдкреВрд░рдХ рдмрд╣реБрднрд╛рд╖реА рд╡рд┐рдорд╛рди"(рдпреЛ рдмрд╛рдЯ рдлреИрд▓рд┐рдПрдХреЛ рдЫ 0x10000 рдЧрд░реНрди 0x1FFFF)ред рддреНрдпрд╕реИрд▓реЗ UTF-16 рд▓реЗ рдпреЛ рдЧрд░реНрдЫ: рд╕рдмреИ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рднрд┐рддреНрд░ рдкрд░реНрдЫрдиреН рдЖрдзрд╛рд░рднреВрдд рдмрд╣реБрднрд╛рд╖реА рд╡рд┐рдорд╛рди, рд╕рдВрдЧрдд рджреБрдИ-рдмрд╛рдЗрдЯ рд╕рдВрдЦреНрдпрд╛ рд╕рдВрдЧ "рдЬрд╕реНрддреИ рдЫ" рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫред рдЬреЗ рд╣реЛрд╕реН, рдпрд╕ рджрд╛рдпрд░рд╛рдХрд╛ рдХреЗрд╣реА рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрд▓реЗ рдЦрд╛рд╕ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рд╕рдВрдХреЗрдд рдЧрд░реНрджреИрдирдиреН, рддрд░ рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рдпреЛ рдЬреЛрдбреА рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рдЕрд░реНрдХреЛ рдПрдХрд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗрд░ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ - рдпреА рдЪрд╛рд░ рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рдорд╛рдирд╣рд░реВ рдПрдХрд╕рд╛рде рдЬреЛрдбреЗрд░, рд╣рд╛рдореАрд▓реЗ рдХрднрд░ рдЧрд░реНрдиреЗ рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдЙрдБрдЫреМрдВред рд╕рдореНрдкреВрд░реНрдг рд╡реИрдз рдпреБрдирд┐рдХреЛрдб рджрд╛рдпрд░рд╛ред рдпреЛ рд╡рд┐рдЪрд╛рд░рд▓рд╛рдИ "рд╕рд░реЛрдЧреЗрдЯ рдЬреЛрдбреАрд╣рд░реВ" рднрдирд┐рдиреНрдЫ - рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реБрдиреНрдиреБ рднрдПрдХреЛ рд╣реЛрд▓рд╛ред

рддреНрдпрд╕реИрд▓реЗ UTF-16 рд▓рд╛рдИ рджреБрдИ рд╡рд╛ (рдзреЗрд░реИ рджреБрд░реНрд▓рдн рдЕрд╡рд╕реНрдерд╛рдорд╛) рдкреНрд░рддрд┐ "рдХреЛрдб рдкреЛрдЗрдиреНрдЯ" рдЪрд╛рд░ рдмрд╛рдЗрдЯ рдЪрд╛рд╣рд┐рдиреНрдЫред рдпреЛ рдЪрд╛рд░ рдмрд╛рдЗрдЯрд╣рд░реВ рд╕рдмреИ рд╕рдордп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдЫ, рддрд░ рд▓реНрдпрд╛рдЯрд┐рди (рд░ рдЕрдиреНрдп ASCII рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ) рдЬрдм рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ рд╢реВрдиреНрдпрдорд╛ рдЖрдзрд╛ рдард╛рдЙрдБ рдмрд░реНрдмрд╛рдж рдЧрд░реНрджрдЫред UTF-8 рдпрд╕рд▓рд╛рдИ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ: ASCII рдорд╛ рдкрд╣рд┐рд▓реЗ рдЬрд╕реНрддреИ, рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рдЗрдЯ рдУрдЧрдЯреЗрдХреЛ рдЫ; рдмрд╛рдЯ рдХреЛрдбрд╣рд░реВ 0x80 рдЧрд░реНрди 0x7FF - рджреБрдИ рдмрд╛рдЗрдЯреНрд╕; рдмрд╛рдЯ 0x800 рдЧрд░реНрди 0xFFFF - рддреАрди, рд░ рдмрд╛рдЯ 0x10000 рдЧрд░реНрди 0x10FFFF - рдЪрд╛рд░ред рдПрдХрд╛рддрд┐рд░, рд▓реНрдпрд╛рдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рд░рд╛рдореНрд░реЛ рднрдПрдХреЛ рдЫ: ASCII рд╕рдВрдЧ рдЕрдиреБрдХреВрд▓рддрд╛ рдлрд┐рд░реНрддрд╛ рднрдПрдХреЛ рдЫ, рд░ рд╡рд┐рддрд░рдг 1 рджреЗрдЦрд┐ 4 рдмрд╛рдЗрдЯ рд╕рдореНрдо "рдлреИрд▓рд┐рдПрдХреЛ" рднрдиреНрджрд╛ рдмрдвреА рдЫред рддрд░ рд▓реНрдпрд╛рдЯрд┐рди рдмрд╛рд╣реЗрдХ рдЕрдиреНрдп рдЕрдХреНрд╖рд░рд╣рд░реВ UTF-16 рдХреЛ рддреБрд▓рдирд╛рдорд╛ рдХреБрдиреИ рдкрдирд┐ рд╣рд┐рд╕рд╛рдмрд▓реЗ рдлрд╛рдЗрджрд╛ рдЧрд░реНрджреИрдирдиреН, рд░ рдзреЗрд░реИрд▓рд╛рдИ рдЕрдм рджреБрдИрдХреЛ рд╕рдЯреНрдЯрд╛ рддреАрди рдмрд╛рдЗрдЯрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫ - рджреБрдИ-рдмрд╛рдЗрдЯ рд░реЗрдХрд░реНрдбрд▓реЗ рдХрднрд░ рдЧрд░реЗрдХреЛ рджрд╛рдпрд░рд╛ 32 рдЧреБрдгрд╛рд▓реЗ рд╕рдВрдХреБрдЪрд┐рдд рднрдПрдХреЛ рдЫред 0xFFFF рдЧрд░реНрди 0x7FF, рд░ рди рдд рдЪрд┐рдирд┐рдпрд╛рдБ рд╡рд╛, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЬрд░реНрдЬрд┐рдпрд╛рд▓реА рдпрд╕рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫред рд╕рд┐рд░рд┐рд▓рд┐рдХ рд░ рдкрд╛рдБрдЪ рдЕрдиреНрдп рдЕрдХреНрд╖рд░рд╣рд░реВ - рд╣реБрд░реНрд░реЗ - рднрд╛рдЧреНрдпрд╢рд╛рд▓реА, 2 рдмрд╛рдЗрдЯ рдкреНрд░рддрд┐ рд╡рд░реНрдгред

рдпреЛ рдХрд┐рди рд╣реБрдиреНрдЫ? UTF-8 рд▓реЗ рдЕрдХреНрд╖рд░ рдХреЛрдбрд╣рд░реВрд▓рд╛рдИ рдХрд╕рд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрдЫ рд╣реЗрд░реМрдВ:
рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ
рд╕рд┐рдзреИ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрди, рдкреНрд░рддреАрдХ рдЪрд┐рдиреНрд╣рд┐рдд рдмрд┐рдЯрд╣рд░реВ рдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ xред рдпреЛ рджреЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫ рдХрд┐ рджреБрдИ-рдмрд╛рдЗрдЯ рд░реЗрдХрд░реНрдбрдорд╛ рддреНрдпрд╣рд╛рдБ рдХреЗрд╡рд▓ 11 рддреНрдпрд╕реНрддрд╛ рдмрд┐рдЯрд╣рд░реВ рдЫрдиреН (резрем рдордзреНрдпреЗ)ред рдпрд╣рд╛рдБ рдкреНрд░рдореБрдЦ рдмрд┐рдЯреНрд╕рд╕рдБрдЧ рдХреЗрд╡рд▓ рд╕рд╣рд╛рдпрдХ рдкреНрд░рдХрд╛рд░реНрдп рдЫред рдЪрд╛рд░-рдмрд╛рдЗрдЯ рд░реЗрдХрд░реНрдбрдХреЛ рдорд╛рдорд▓рд╛рдорд╛, 16 рдмрд┐рдЯреНрд╕ рдордзреНрдпреЗ 21 рдХреЛрдб рдкреЛрдЗрдиреНрдЯ рдирдореНрдмрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ - рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдХрд┐ рддреАрди рдмрд╛рдЗрдЯрд╣рд░реВ (рдЬрд╕рд▓реЗ рдХреБрд▓ 32 рдмрд┐рдЯ рджрд┐рдиреНрдЫ) рдкрд░реНрдпрд╛рдкреНрдд рд╣реБрдиреЗрдЫ, рддрд░ рд╕реЗрд╡рд╛ рдорд╛рд░реНрдХрд░рд╣рд░реВрд▓реЗ рдзреЗрд░реИ рдЦрд╛рдиреНрдЫред

рдХреЗ рдпреЛ рдЦрд░рд╛рдм рдЫ? рд╕рд╛рдБрдЪреНрдЪреИ рд╣реЛрдЗрдиред рдПрдХрд╛рддрд┐рд░, рдпрджрд┐ рд╣рд╛рдореА рдард╛рдЙрдБрдХреЛ рдмрд╛рд░реЗрдорд╛ рдзреЗрд░реИ рдЦреНрдпрд╛рд▓ рд░рд╛рдЦреНрдЫреМрдВ рднрдиреЗ, рд╣рд╛рдореАрд╕рдБрдЧ рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ рд╕рдмреИ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдиреНрдЯреНрд░реЛрдкреА рд░ рд░рд┐рдбрдиреНрдбрдиреНрд╕реА рд╣рдЯрд╛рдЙрди рд╕рдХреНрдЫред рдЕрд░реНрдХреЛрддрд░реНрдл, рдпреБрдирд┐рдХреЛрдбрдХреЛ рд▓рдХреНрд╖реНрдп рд╕рдмреИрднрдиреНрджрд╛ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдХреЛрдбрд┐рдЩ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЙрдиреБ рдерд┐рдпреЛред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА UTF-8 рдорд╛ рдПрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рд▓рд╛рдЗрдирд▓рд╛рдИ рдХреЛрдбрдорд╛ рд╕реБрдореНрдкрди рд╕рдХреНрдЫреМрдВ рдЬреБрди рдкрд╣рд┐рд▓реЗ ASCII рд╕рдБрдЧ рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНтАНрдпреЛ, рд░ рдпрд╕рд▓реЗ ASCII рджрд╛рдпрд░рд╛рдмрд╛рдЯ рдПрдЙрдЯрд╛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рджреЗрдЦреНрдиреЗрдЫ рдЬреБрди рд╡рд╛рд╕реНрддрд╡рдорд╛ рддреНрдпрд╣рд╛рдБ рдЫреИрди (рдЖрдЦрд┐рд░рдорд╛, UTF-8 рдорд╛ рд╕рдмреИ рд╢реВрдиреНрдп рдмрд┐рдЯрдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреЗ рдмрд╛рдЗрдЯрд╣рд░реВ - рдпреЛ рд╡рд╛рд╕реНрддрд╡рдорд╛ ASCII рд╣реЛ)ред рд░ рдпрджрд┐ рд╣рд╛рдореА рдЕрдЪрд╛рдирдХ рд╕реБрд░реБрдмрд╛рдЯ рдбрд┐рдХреЛрдб рдирдЧрд░реА рдареВрд▓реЛ рд╕реНрдЯреНрд░рд┐рдЩрдмрд╛рдЯ рд╕рд╛рдиреЛ рдкреБрдЪреНрдЫрд░ рдХрд╛рдЯреНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ (рд╡рд╛ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдЦрдгреНрдб рдкрдЫрд┐ рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рдЕрдВрд╢ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН), рд╣рд╛рдореАрд▓рд╛рдИ рдЕрдлрд╕реЗрдЯ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд╕рдЬрд┐рд▓реЛ рдЫ рдЬрд╣рд╛рдБ рдПрдХ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рд╕реБрд░реБ рд╣реБрдиреНрдЫ (рдпреЛ рдкрд░реНрдпрд╛рдкреНрдд рдЫред рдереЛрд░реИ рдЙрдкрд╕рд░реНрдЧ рднрдПрдХрд╛ рдмрд╛рдЗрдЯрд╣рд░реВ рдЫреЛрдбреНрди 10).

рддреНрдпрд╕реЛ рднрдП рдХрд┐рди рдирдпрд╛рдБ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░реНрдиреЗ ?

рдПрдХреИ рд╕рдордпрдорд╛, рддреНрдпрд╣рд╛рдБ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдВ рдЕрд╡рд╕реНрдерд╛рд╣рд░реВ рдЫрдиреН рдЬрдм рдбрд┐рдлреНрд▓реЗрдЯ рдЬрд╕реНрддрд╛ рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдХрдордЬреЛрд░ рд░реВрдкрдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫрдиреН, рддрд░ рддрдкрд╛рдИрдВ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВрдХреЛ рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛, рдореИрд▓реЗ рдирд┐рд░реНрдорд╛рдгрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реЛрдЪреНрджрд╛ рдпреЛ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реЗрдВ рд╕рдВрдХреБрдЪрд┐рдд рдЙрдкрд╕рд░реНрдЧ рд░реВрдЦ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рд╢рдмреНрджрд╣рд░реВ рд╕рд╣рд┐рдд рдареВрд▓реЛ рд╢рдмреНрджрдХреЛрд╢рдХреЛ рд▓рд╛рдЧрд┐ред рдПрдХрд╛рддрд┐рд░, рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдзреЗрд░реИ рдЫреЛрдЯреЛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдХрдореНрдкреНрд░реЗрд╕ рдЧрд░реНрди рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рд╣реБрдиреЗрдЫред рдЕрд░реНрдХреЛрддрд░реНрдл, рдореИрд▓реЗ рд╡рд┐рдЪрд╛рд░ рдЧрд░реЗрдХреЛ рд░реВрдЦ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рддрд╛рдХрд┐ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рд╕реНрдЯреНрд░рд┐рдЩрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯрд▓реЗ рдЫреБрдЯреНрдЯреИ рд░реВрдЦ рднреЗрд░реНрдЯреЗрдХреНрд╕ рдЙрддреНрдкрдиреНрди рдЧрд░реНтАНрдпреЛ, рддреНрдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХрдо рдЧрд░реНрдиреБ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рдерд┐рдпреЛред рдореЗрд░реЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ Az.js (рдЬрд╕реНрддреИ pymorphy2, рдЬрд╕рдорд╛ рдпреЛ рдЖрдзрд╛рд░рд┐рдд рдЫ) рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╕рд░рд▓ рд░реВрдкрдорд╛ рд╣рд▓ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ - рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВрдорд╛ рдкреНрдпрд╛рдХ рдЧрд░рд┐рдПрдХреЛ DAWG- рд╢рдмреНрджрдХреЛрд╢, рддреНрдпрд╣рд╛рдБ рднрдгреНрдбрд╛рд░рдг рд░рд╛рдореНрд░реЛ рдкреБрд░рд╛рдиреЛ CP1251ред рддрд░, рдмреБрдЭреНрди рд╕рдЬрд┐рд▓реЛ рдЫ, рдпрд╕рд▓реЗ рд╕реАрдорд┐рдд рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рд░рд╛рдореНрд░реЛ рдХрд╛рдо рдЧрд░реНрджрдЫ - рдЪрд┐рдирд┐рдпрд╛рдБ рднрд╛рд╖рд╛рдорд╛ рд░реЗрдЦрд╛ рдпрд╕реНрддреЛ рд╢рдмреНрджрдХреЛрд╢рдорд╛ рдердкреНрди рд╕рдХрд┐рдБрджреИрдиред

рдЕрд▓рдЧ рд░реВрдкрдорд╛, рдо рдпрд╕реНрддреЛ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдорд╛ UTF-8 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреЗ рдПрдЙрдЯрд╛ рдердк рдЕрдкреНрд░рд┐рдп nuance рдиреЛрдЯ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рдорд╛рдерд┐рдХреЛ рдЪрд┐рддреНрд░рд▓реЗ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ рдЬрдм рдПрдХ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд▓рд╛рдИ рджреБрдИ рдмрд╛рдЗрдЯрдХреЛ рд░реВрдкрдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рддреНрдпрд╕рдХреЛ рд╕рдВрдЦреНрдпрд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдмрд┐рдЯрд╣рд░реВ рдкрдЩреНрдХреНрддрд┐рдорд╛ рдЖрдЙрдБрджреИрдирдиреН, рддрд░ рдмрд┐рдЯрд╣рд░реВрдХреЛ рдЬреЛрдбреАрджреНрд╡рд╛рд░рд╛ рдЫреБрдЯреНрдпрд╛рдЗрдиреНрдЫред 10 рдмрд┐рдЪрдорд╛: 110xxxxx 10xxxxxxред рдпрд╕рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдХреЛрдбрдорд╛ рджреЛрд╕реНрд░реЛ рдмрд╛рдЗрдЯ рдУрднрд░рдлреНрд▓реЛрдХреЛ рддрд▓реНрд▓реЛ 6 рдмрд┐рдЯрд╣рд░реВ (рдЕрд░реНрдерд╛рдд, рдПрдХ рд╕рдВрдХреНрд░рдордг рд╣реБрдиреНрдЫред 10111111 тЖТ 10000000), рддреНрдпрд╕рдкрдЫрд┐ рдкрд╣рд┐рд▓реЛ рдмрд╛рдЗрдЯ рдкрдирд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫред рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ рдХрд┐ рдЕрдХреНрд╖рд░ "p" рдмрд╛рдЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЬрдирд╛рдЗрдПрдХреЛ рдЫ 0xD0 0xBF, рд░ рдЕрд░реНрдХреЛ "r" рдкрд╣рд┐рд▓реЗ рдиреИ рдЫ 0xD1 0x80ред рдПрдЙрдЯрд╛ рдЙрдкрд╕рд░реНрдЧ рд░реВрдЦрдорд╛, рдпрд╕рд▓реЗ рдЕрднрд┐рднрд╛рд╡рдХ рдиреЛрдбрд▓рд╛рдИ рджреБрдИ рднрд╛рдЧрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрдЫ - рдПрдХ рдЙрдкрд╕рд░реНрдЧрдХреЛ рд▓рд╛рдЧрд┐ 0xD0, рд░ рдЕрд░реНрдХреЛ рдХреЛ рд▓рд╛рдЧреА 0xD1 (рдпрджреНрдпрдкрд┐ рд╕рдореНрдкреВрд░реНрдг рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдорд╛рддреНрд░ рджреЛрд╕реНрд░реЛ рдмрд╛рдЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЗрдиреНрдХреЛрдб рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ)ред

рдореИрд▓реЗ рдХреЗ рдкрд╛рдП

рдпрд╕ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрджреИ, рдореИрд▓реЗ рдмрд┐рдЯрд╣рд░реВрд╕рдБрдЧ рдЦреЗрд▓ рдЦреЗрд▓реНрдиреЗ рдЕрднреНрдпрд╛рд╕ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ, рд░ рдПрдХреИ рд╕рдордпрдорд╛ рд╕рдордЧреНрд░ рд░реВрдкрдорд╛ рдпреБрдирд┐рдХреЛрдбрдХреЛ рд╕рдВрд░рдЪрдирд╛рд╕рдБрдЧ рдЕрд▓рд┐ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдиреБрд╣реЛрд╕реНред рдкрд░рд┐рдгрд╛рдо UTF-C рдПрдиреНрдХреЛрдбрд┐рдЩ рдврд╛рдБрдЪрд╛ ("C" рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрдХреБрдЪрд┐рдд), рдЬрд╕рд▓реЗ рдкреНрд░рддрд┐ рдХреЛрдб рдмрд┐рдиреНрджреБ 3 рдмрд╛рдЗрдЯреНрд╕ рднрдиреНрджрд╛ рдмрдвреА рдЦрд░реНрдЪ рдЧрд░реНрджреИрди, рд░ рдкреНрд░рд╛рдп: рддрдкрд╛рдИрдВрд▓рд╛рдИ рдорд╛рддреНрд░ рдЦрд░реНрдЪ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рд╕рдореНрдкреВрд░реНрдг рдПрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рд▓рд╛рдЗрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдЯред рдпрд╕рд▓реЗ рдпрд╕ рддрдереНрдпрд▓рд╛рдИ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ рдХрд┐ рдзреЗрд░реИ рдЧреИрд░-ASCII рдЕрдХреНрд╖рд░рд╣рд░реВрдорд╛ рдпрд╕реНрддреЛ рдПрдиреНрдХреЛрдбрд┐рдЩ рдмрд╛рд╣рд┐рд░ рдирд┐рд╕реНрдХрдиреНрдЫ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ.

рдореИрд▓реЗ рдлрд╛рд░рдордорд╛ рдПрдиреНрдХреЛрдбрд┐рдЩ рд░ рдбрд┐рдХреЛрдбрд┐рдЩ рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реЗрдХреЛ рдЫреБ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░ рдЧреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрд╣рд░реВ, рддрдкрд╛рдИрдВ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдлреНрдиреЛ рдХреЛрдбрдорд╛ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд░ рдо рдЕрдЭреИ рдЬреЛрдб рджрд┐рдиреНрдЫреБ рдХрд┐ рдПрдХ рдЕрд░реНрдердорд╛ рдпреЛ рдврд╛рдБрдЪрд╛ "рд╕рд╛рдЗрдХрд▓" рдиреИ рд░рд╣рдиреНрдЫ, рд░ рдо рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрд┐рдиред рддрдкрд╛рдИрд▓рд╛рдИ рдХрд┐рди рдЪрд╛рд╣рд┐рдиреНрдЫ рднрдиреЗрд░ рдерд╛рд╣рд╛ рдЫреИрдиред рдпреЛ рдЕрдЭреИ рдкрдирд┐ рдЧрдореНрднреАрд░ "UTF-8 рдХреЛ рд╕реБрдзрд╛рд░" рднрдиреНрджрд╛ рдмрдвреА рдкреНрд░рдпреЛрдЧ рд╣реЛред рдЬреЗ рд╣реЛрд╕реН, рддреНрдпрд╣рд╛рдБ рдХреЛрдб рд╕рдлрд╛рд╕рдБрдЧ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдкрдорд╛, рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рд░ рдкрд░реАрдХреНрд╖рдг рдХрднрд░реЗрдЬрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдХреЛ рд╕рд╛рдеред

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ
рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рд░ UTF-8 рд╕рдБрдЧ рддреБрд▓рдирд╛

рдореИрд▓реЗ рдкрдирд┐ рдЧрд░реЗрдБ рдбреЗрдореЛ рдкреГрд╖реНрда, рдЬрд╣рд╛рдБ рддрдкрд╛рдЗрдБ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордХреЛ рдкреНрд░рджрд░реНрд╢рдирдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдо рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдпрд╕рдХреЛ рд╕рд┐рджреНрдзрд╛рдиреНрдд рд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдмрддрд╛рдЙрдиреЗрдЫреБред

рдЕрдирд╛рд╡рд╢реНрдпрдХ рдмрд┐рдЯрд╣рд░реВ рд╣рдЯрд╛рдЙрдБрджреИ

рдореИрд▓реЗ UTF-8 рд▓рд╛рдИ рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдПрдХреЛ рдЫреБред рдпрд╕рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рдкрд╣рд┐рд▓реЛ рд░ рд╕рдмреИрднрдиреНрджрд╛ рд╕реНрдкрд╖реНрдЯ рдХреБрд░рд╛ рднрдиреЗрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯрдорд╛ рд╕реЗрд╡рд╛ рдмрд┐рдЯреНрд╕рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдЙрдиреБ рд╣реЛред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, UTF-8 рдорд╛ рдкрд╣рд┐рд▓реЛ рдмрд╛рдЗрдЯ рд╕рдзреИрдВ рдпрд╛ рдд рд╕рдВрдЧ рд╕реБрд░реБ рд╣реБрдиреНрдЫ 0, рд╡рд╛ рд╕рдВрдЧ 11 - рдПрдХ рдЙрдкрд╕рд░реНрдЧ 10 рдХреЗрд╡рд▓ рдирд┐рдореНрди рдмрд╛рдЗрдЯрд╣рд░реВрдорд╛ рдпреЛ рдЫред рдЙрдкрд╕рд░реНрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реМрдВ 11 рдорд╛ 1, рд░ рдЕрд░реНрдХреЛ рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдЙрдкрд╕рд░реНрдЧрд╣рд░реВ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╣рдЯрд╛рдЙрдиреЗрдЫреМрдВред рдХреЗ рд╣реБрдиреЗрдЫ?

0xxxxxxx - 1 рдмрд╛рдЗрдЯ
10xxxxxx xxxxxxxx - 2 рдмрд╛рдЗрдЯреНрд╕
110xxxxx xxxxxxxx xxxxxxxx - 3 рдмрд╛рдЗрдЯреНрд╕

рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН, рдЪрд╛рд░-рдмрд╛рдЗрдЯ рд░реЗрдХрд░реНрдб рдХрд╣рд╛рдБ рдЫ? рддрд░ рдпреЛ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдЫреИрди - рддреАрди рдмрд╛рдЗрдЯрд╣рд░реВрдорд╛ рд▓реЗрдЦреНрджрд╛, рд╣рд╛рдореАрд╕рдБрдЧ рдЕрдм 21 рдмрд┐рдЯрд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЫрдиреН рд░ рдпреЛ рд╕рдмреИ рдирдореНрдмрд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЫред 0x10FFFF.

рд╣рд╛рдореАрд▓реЗ рдпрд╣рд╛рдБ рдХреЗ рдмрд▓рд┐рджрд╛рди рджрд┐рдПрдХрд╛ рдЫреМрдВ? рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рдмрдлрд░ рдорд╛ рдПрдХ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рд╕реНрдерд╛рди рджреЗрдЦрд┐ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рд╕реАрдорд╛рдирд╛ рдХреЛ рдкрд╣рд┐рдЪрд╛рди рд╣реЛред рд╣рд╛рдореА рдПрдХ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рдмрд╛рдЗрдЯрдорд╛ рджреЗрдЦрд╛рдЙрди рд╕рдХреНрджреИрдиреМрдВ рд░ рддреНрдпрд╕рдмрд╛рдЯ рдЕрд░реНрдХреЛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рдХреЛ рд╕реБрд░реБрд╡рд╛рдд рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд╕рдХреНрджреИрдиреМрдВред рдпреЛ рд╣рд╛рдореНрд░реЛ рдврд╛рдБрдЪрд╛рдХреЛ рдПрдХ рд╕реАрдорд╛ рд╣реЛ, рддрд░ рд╡реНрдпрд╡рд╣рд╛рд░рдорд╛ рдпреЛ рд╡рд┐рд░рд▓реИ рдЖрд╡рд╢реНрдпрдХ рдЫред рд╣рд╛рдореА рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕реБрд░реБрджреЗрдЦрд┐ рдиреИ рдмрдлрд░ рдорд╛рд░реНрдлрдд рджреМрдбрди рд╕рдХреНрд╖рдо рдЫреМрдВ (рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЬрдм рдпреЛ рдЫреЛрдЯреЛ рд▓рд╛рдЗрдирд╣рд░реВрдорд╛ рдЖрдЙрдБрдЫ)ред

2 рдмрд╛рдЗрдЯрд╣рд░реВ рд╕рд╣рд┐рдд рднрд╛рд╖рд╛рд╣рд░реВ рдХрднрд░ рдЧрд░реНрдиреЗ рдЕрд╡рд╕реНрдерд╛ рдкрдирд┐ рд░рд╛рдореНрд░реЛ рднрдПрдХреЛ рдЫ: рдЕрдм рджреБрдИ-рдмрд╛рдЗрдЯ рдврд╛рдБрдЪрд╛рд▓реЗ 14 рдмрд┐рдЯрд╣рд░реВрдХреЛ рджрд╛рдпрд░рд╛ рджрд┐рдиреНрдЫ, рд░ рдпреА рдХреЛрдбрд╣рд░реВ рдЫрдиреНред 0x3FFFред рдЪрд┐рдирд┐рдпрд╛рдБрд╣рд░реВ рдЕрд╢реБрдн рдЫрдиреН (рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдкреНрд░рд╛рдпрдГ рдмрд╛рдЯ 0x4E00 рдЧрд░реНрди 0x9FFF), рддрд░ рдЬрд░реНрдЬрд┐рдпрдирд╣рд░реВ рд░ рдзреЗрд░реИ рдЕрдиреНрдп рдорд╛рдирд┐рд╕рд╣рд░реВрд╕рдБрдЧ рдмрдвреА рд░рдорд╛рдЗрд▓реЛ рдЫ - рддрд┐рдиреАрд╣рд░реВрдХрд╛ рднрд╛рд╖рд╛рд╣рд░реВ рдкрдирд┐ рдкреНрд░рддрд┐ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ реи рдмрд╛рдЗрдЯрд╣рд░реВрдорд╛ рдлрд┐рдЯ рд╣реБрдиреНрдЫрдиреНред

рдПрдиреНрдХреЛрдбрд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдЕрдм рд▓рд╛рдЗрдирд╣рд░реБ рдХреЛ рдЧреБрдгрд╣рд░реБ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рд╕реЛрдЪреМрдВред рд╢рдмреНрджрдХреЛрд╢рдорд╛ рдкреНрд░рд╛рдпрдГ рдПрдЙрдЯреИ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рд╢рдмреНрджрд╣рд░реВ рд╣реБрдиреНрдЫрдиреН, рд░ рдпреЛ рдЕрдиреНрдп рдзреЗрд░реИ рдкрд╛рдард╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рд╕рддреНрдп рд╣реЛред рдпреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдПрдХ рдкрдЯрдХ рд╕рдВрдХреЗрдд рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рднрд┐рддреНрд░ рдЕрдХреНрд╖рд░ рд╕рдВрдЦреНрдпрд╛ рдорд╛рддреНрд░ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреБрдирд┐рдХреЛрдб рддрд╛рд▓рд┐рдХрд╛рдорд╛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрдЫ рдХрд┐ рдЧрд░реНрджреИрди рд╣реЗрд░реМрдВред

рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░, рдпреБрдирд┐рдХреЛрдб рд╡рд┐рднрд╛рдЬрд┐рдд рдЫ рд╡рд┐рдорд╛рди рдкреНрд░рддреНрдпреЗрдХ 65536 рдХреЛрдбрд╣рд░реВред рддрд░ рдпреЛ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рд╡рд┐рднрд╛рдЬрди рд╣реЛрдЗрди (рдкрд╣рд┐рд▓реЗ рдиреИ рднрдирд┐рдПрдХреЛ рдЫ, рдкреНрд░рд╛рдпрдГ рд╣рд╛рдореА рд╢реВрдиреНрдп рд╡рд┐рдорд╛рдирдорд╛ рдЫреМрдВ)ред рдердк рд░реЛрдЪрдХ рдЫ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдмреНрд▓рдХрд╣рд░реВред рдпреА рджрд╛рдпрд░рд╛рд╣рд░реВрдХреЛ рдЕрдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдореНрдмрд╛рдЗ рдЫреИрди, рд░ рдЕрдзрд┐рдХ рдЕрд░реНрдердкреВрд░реНрдг рдЫрдиреН - рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рдПрдЙрдЯреИ рд╡рд░реНрдгрдорд╛рд▓рд╛рдмрд╛рдЯ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрджрдЫред

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ
рдмрдВрдЧрд╛рд▓реА рд╡рд░реНрдгрдорд╛рд▓рд╛рдХрд╛ рд╡рд░реНрдгрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рднрдПрдХреЛ рдмреНрд▓рдХред рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдХрд╛рд░рдгрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рдзреЗрд░реИ рдШрдирд╛ рдкреНрдпрд╛рдХреЗрдЬрд┐рдЩрдХреЛ рдЙрджрд╛рд╣рд░рдг рд╣реЛ - 96 рд╡рд░реНрдгрд╣рд░реВ 128 рдмреНрд▓рдХ рдХреЛрдб рдмрд┐рдиреНрджреБрд╣рд░реВрдорд╛ рдЕрд░рд╛рдЬрдХ рд░реВрдкрдорд╛ рдЫрд░рд┐рдПрдХрд╛ рдЫрдиреНред

рдмреНрд▓рдХрд╣рд░реВрдХреЛ рд╕реБрд░реБрд╡рд╛рдд рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рд╛рдЗрдЬрд╣рд░реВ рд╕рдзреИрдВ 16 рдХреЛ рдЧреБрдгрди рд╣реБрдиреНрдЫрдиреН - рдпреЛ рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдЧрд░рд┐рдиреНрдЫред рдердк рд░реВрдкрдорд╛, рдзреЗрд░реИ рдмреНрд▓рдХрд╣рд░реВ 128 рд╡рд╛ 256 рдХреЛ рдЧреБрдгрди рдорд╛рдирд╣рд░реВрдорд╛ рд╕реБрд░реБ рд░ рдЕрдиреНрддреНрдп рд╣реБрдиреНрдЫрдиреН - рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрдзрд╛рд░рднреВрдд рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╡рд░реНрдгрдорд╛рд▓рд╛рд▓реЗ 256 рдмрд╛рдЗрдЯрд╣рд░реВ рд▓рд┐рдиреНрдЫред 0x0400 рдЧрд░реНрди 0x04FFред рдпреЛ рдПрдХрджрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ: рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдПрдХ рдкрдЯрдХ рдЙрдкрд╕рд░реНрдЧ рдмрдЪрдд рдЧрд░реНрдЫреМрдВ 0x04, рддреНрдпрд╕рдкрдЫрд┐ рдХреБрдиреИ рдкрдирд┐ рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╡рд░реНрдг рдПрдХ рдмрд╛рдЗрдЯ рдорд╛ рд▓реЗрдЦреНрди рд╕рдХрд┐рдиреНрдЫред рд╕рд╛рдБрдЪреЛ, рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рд╣рд╛рдореАрд▓реЗ ASCII (рд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдХреБрдиреИ рдкрдирд┐ рдЕрдиреНрдп рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдорд╛) рдлрд░реНрдХрдиреЗ рдЕрд╡рд╕рд░ рдЧреБрдорд╛рдЙрдиреЗрдЫреМрдВред рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рдпреЛ рдЧрд░реНрдЫреМрдВ:

  1. рджреБрдИ рдмрд╛рдЗрдЯреНрд╕ 10yyyyyy yxxxxxxx рд╕рдВрдЦреНрдпрд╛рдХреЛ рд╕рд╛рде рдкреНрд░рддреАрдХ рдорд╛рддреНрд░ рд╣реЛрдЗрди yyyyyy yxxxxxxx, рддрд░ рдкрдирд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдорд╛ yyyyyy y0000000 (рдЕрд░реНрдерд╛рддреН рд╣рд╛рдореАрд▓реЗ рдереЛрд░реИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рд╣реЗрдХ рд╕рдмреИ рдмрд┐рдЯреНрд╕ рд╕рдореНрдЭрдиреНрдЫреМрдВ 7 рдмрд┐рдЯ);
  2. рдПрдХ рдмрд╛рдЗрдЯ 0xxxxxxx рдпреЛ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЛ рд╡рд░реНрдг рд╣реЛред рдпреЛ рдХреЗрд╡рд▓ рдЕрдлрд╕реЗрдЯрдорд╛ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдЬреБрди рд╣рд╛рдореАрд▓реЗ рдЪрд░рдг 1 рдорд╛ рд╕рдореНрдЭреЗрдХрд╛ рдЫреМрдВред рд╣рд╛рдореАрд▓реЗ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрдиреМрдВ, рдЕрдлрд╕реЗрдЯ рд╢реВрдиреНрдп рдЫ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореАрд▓реЗ ASCII рд╕рдБрдЧ рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛рдпрдо рд░рд╛рдЦреНрдпреМрдВред

рддреНрдпрд╕реНрддреИ рдЧрд░реА 3 рдмрд╛рдЗрдЯрд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдХреЛрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐:

  1. рддреАрди рдмрд╛рдЗрдЯреНрд╕ 110yyyyy yxxxxxxx xxxxxxxx рд╕рдВрдЦреНрдпрд╛рдХреЛ рд╕рд╛рде рдкреНрд░рддреАрдХ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН yyyyyy yxxxxxxx xxxxxxxx, рдкрд░рд┐рд╡рд░реНрддрди рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдорд╛ yyyyyy y0000000 00000000 (рд╕рд╛рдирд╛ рдмрд╛рд╣реЗрдХ рд╕рдмреИ рдпрд╛рдж рдЖрдпреЛ 15 рдмрд┐рдЯ), рд░ рдмрдХреНрд╕ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬреБрди рд╣рд╛рдореА рдЕрд╣рд┐рд▓реЗ рдЫреМрдВ рд▓рд╛рдореЛ рдореЛрдб (рдЕрдХреНрд╖рд░рд▓рд╛рдИ рдбрдмрд▓-рдмрд╛рдЗрдЯрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджрд╛, рд╣рд╛рдореА рдпреЛ рдЭрдгреНрдбрд╛ рд░рд┐рд╕реЗрдЯ рдЧрд░реНрдиреЗрдЫреМрдВ);
  2. рджреБрдИ рдмрд╛рдЗрдЯреНрд╕ 0xxxxxxx xxxxxxxx рд▓рд╛рдореЛ рдореЛрдбрдорд╛ рдпреЛ рд╣рд╛рд▓рдХреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рд╡рд░реНрдг рд╣реЛред рддреНрдпрд╕реИ рдЧрд░реА, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдЪрд░рдг 1 рдмрд╛рдЯ рдЕрдлрд╕реЗрдЯрд╕рдБрдЧ рдердкреНрдЫреМрдВред рдлрд░рдХ рдпрддрд┐ рд╣реЛ рдХрд┐ рдЕрдм рд╣рд╛рдореА рджреБрдИ рдмрд╛рдЗрдЯрд╣рд░реВ рдкрдвреНрдЫреМрдВ (рдХрд┐рдирдХрд┐ рд╣рд╛рдореАрд▓реЗ рдпреЛ рдореЛрдбрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреМрдВ)ред

рд░рд╛рдореНрд░реЛ рд▓рд╛рдЧреНрджрдЫ: рдЕрдм рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯреИ 7-рдмрд┐рдЯ рдпреБрдирд┐рдХреЛрдб рджрд╛рдпрд░рд╛рдмрд╛рдЯ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдЗрдиреНрдХреЛрдб рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рд╣рд╛рдореА рд╕реБрд░реБрдорд╛ 1 рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдЯ рд░ рдкреНрд░рддрд┐ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдХреБрд▓ рдПрдХ рдмрд╛рдЗрдЯ рдЦрд░реНрдЪ рдЧрд░реНрдЫреМрдВред

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ
рдЕрдШрд┐рд▓реНрд▓реЛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдордзреНрдпреЗ рдПрдХрдмрд╛рдЯ рдХрд╛рдо рдЧрд░реНрджреИред рдпрд╕рд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ UTF-8 рд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рд╣рд░рд╛рдЙрдБрдЫ, рддрд░ рдЕрдЭреИ рдкрдирд┐ рд╕реБрдзрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рдард╛рдЙрдБ рдЫред

рдХреЗ рдЦрд░рд╛рдм рдЫ? рдкрд╣рд┐рд▓реЛ, рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рд╢рд░реНрдд рдЫ, рдЕрд░реНрдерд╛рддреН рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдЕрдлрд╕реЗрдЯ рд░ рдЪреЗрдХрдмрдХреНрд╕ рд▓рд╛рдореЛ рдореЛрдбред рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдердк рд╕реАрдорд┐рдд рдЧрд░реНрджрдЫ: рдЕрдм рдПрдЙрдЯреИ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рд╕рдиреНрджрд░реНрднрд╣рд░реВрдорд╛ рдлрд░рдХ рдЗрдиреНрдХреЛрдб рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рдмрд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВрдХреЛ рдЦреЛрдЬреА рдЧрд░реНрджрд╛ рдпрд╕рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрд░ рдЧрд░реНрдиреБрдкрд░реНрдЫ, рдмрд╛рдЗрдЯрд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реЗрд░ рдорд╛рддреНрд░ рд╣реЛрдЗрдиред рджреЛрд╕реНрд░реЛ, рд╣рд╛рдореАрд▓реЗ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ, рдпреЛ ASCII рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рдПрдиреНрдХреЛрдбрд┐рдЩрдХреЛ рд╕рд╛рде рдЦрд░рд╛рдм рднрдпреЛ (рд░ рдпреЛ рд▓реНрдпрд╛рдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рдЖрдзрд╛рд░рднреВрдд рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрдирд╣рд░реВ рдкрдирд┐ рд╣реЛ, рдЦрд╛рд▓реА рдард╛рдЙрдБрд╣рд░реВ рд╕рд╣рд┐рдд) - рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдлреЗрд░рд┐ реж рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЕрд░реНрдерд╛рддреН, рдлреЗрд░рд┐ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдЯ (рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЕрд░реНрдХреЛ рд╣рд╛рдореНрд░реЛ рдореБрдЦреНрдп рдмрд┐рдиреНрджреБрдорд╛ рдлрд░реНрдХрди)ред

рдПрдЙрдЯрд╛ рд╡рд░реНрдгрдорд╛рд▓рд╛ рд░рд╛рдореНрд░реЛ рдЫ, рджреБрдИ рд░рд╛рдореНрд░реЛ рдЫ

рд╣рд╛рдореНрд░реЛ рдмрд┐рдЯ рдЙрдкрд╕рд░реНрдЧрд╣рд░реВ рдереЛрд░реИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ, рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХрд╛ рддреАрдирд╣рд░реВрдорд╛ рдердк рдПрдХрдорд╛ рдирд┐рдЪреЛрдб рдЧрд░реНрджреИ:

0xxxxxxx - рд╕рд╛рдорд╛рдиреНрдп рдореЛрдбрдорд╛ 1 рдмрд╛рдЗрдЯ, рд▓рд╛рдореЛ рдореЛрдбрдорд╛ 2
11xxxxxx - 1 рдмрд╛рдЗрдЯ
100xxxxx xxxxxxxx - 2 рдмрд╛рдЗрдЯреНрд╕
101xxxxx xxxxxxxx xxxxxxxx - 3 рдмрд╛рдЗрдЯреНрд╕

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ

рдЕрдм рджреБрдИ-рдмрд╛рдЗрдЯ рд░реЗрдХрд░реНрдбрдорд╛ рддреНрдпрд╣рд╛рдБ рдПрдХ рдХрдо рдЙрдкрд▓рдмреНрдз рдмрд┐рдЯ рдЫ - рдХреЛрдб рдЕрдВрдХрд╣рд░реВ рд╕рдореНрдо 0x1FFFрд░ рд╣реЛрдЗрди 0x3FFFред рдЬреЗ рд╣реЛрд╕реН, рдпреЛ рдЕрдЭреИ рдкрдирд┐ рдбрдмрд▓-рдмрд╛рдЗрдЯ UTF-8 рдХреЛрдбрд╣рд░реВ рднрдиреНрджрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рдареВрд▓реЛ рдЫ, рдзреЗрд░реИ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛рд╣рд░реВ рдЕрдЭреИ рдкрдирд┐ рдлрд┐рдЯ рдЫрдиреН, рд╕рдмреИрднрдиреНрджрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣рд╛рдирд┐ рдЭрд░реЗрдХреЛ рдЫред рд╣рд┐рд░рд╛рдЧрд╛рдирд╛ ╨╕ рдХрд╛рддрд╛рдХрд╛рдирд╛рдЬрд╛рдкрд╛рдиреАрд╣рд░реВ рджреБрдГрдЦреА рдЫрдиреНред

рдпреЛ рдирдпрд╛рдБ рдХреЛрдб рдХреЗ рд╣реЛ? 11xxxxxx? рдпреЛ рдЖрдХрд╛рд░рдорд╛ 64 рд╡рд░реНрдгрд╣рд░реВрдХреЛ рд╕рд╛рдиреЛ "рд╕реНрдЯреНрдпрд╛рд╢" рд╣реЛ, рдпрд╕рд▓реЗ рд╣рд╛рдореНрд░реЛ рдореБрдЦреНрдп рд╡рд░реНрдгрдорд╛рд▓рд╛рд▓рд╛рдИ рдкреВрд░рдХ рдмрдирд╛рдЙрдБрдЫ, рддреНрдпрд╕реИрд▓реЗ рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рд╣рд╛рдпрдХ рднрдирд┐рдиреНрдЫ (рд╕рд╣рд╛рдпрдХ) рд╡рд░реНрдгрдорд╛рд▓рд╛ред рдЬрдм рд╣рд╛рдореА рд╣рд╛рд▓рдХреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдЫреМрдВ, рдкреБрд░рд╛рдиреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рдПрдХ рдЯреБрдХреНрд░рд╛ рд╕рд╣рд╛рдпрдХ рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ ASCII рдмрд╛рдЯ рд╕рд┐рд░рд┐рд▓рд┐рдХрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреМрдВ - рд╕реНрдЯреНрдпрд╛рд╕рдорд╛ рдЕрдм 64 рд╡рд░реНрдгрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред рд▓реНрдпрд╛рдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛, рд╕рдВрдЦреНрдпрд╛, рд╕реНрдкреЗрд╕ рд░ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо (рдЧреИрд░-ASCII рдкрд╛рдард╣рд░реВрдорд╛ рдзреЗрд░реИ рдкрдЯрдХ рд╕рдореНрдорд┐рд▓рд┐рддрд╣рд░реВ)ред ASCII рдорд╛ рдлрд░реНрдХрдиреБрд╣реЛрд╕реН - рд░ рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рдореБрдЦреНрдп рднрд╛рдЧ рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╣реБрдиреЗрдЫред

рджреБрдИ рдЕрдХреНрд╖рд░рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рдореА рдЕрдХреНрд╖рд░рд╣рд░реВ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдиреНрдпреВрдирддрдо рд▓рд╛рдЧрддрдорд╛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдкрд╛рдард╣рд░реВ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ (рд╡рд┐рд░рд╛рдо рдЪрд┐рдиреНрд╣рд▓реЗ рдкреНрд░рд╛рдп: ASCII рдорд╛ рдлрд░реНрдХрд┐рдиреЗрдЫ, рддрд░ рддреНрдпрд╕ рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд░реНрдгрдорд╛рд▓рд╛рдмрд╛рдЯ рдзреЗрд░реИ рдЧреИрд░-ASCII рд╡рд░реНрдгрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫреМрдВ, рдмрд┐рдирд╛ред рдлреЗрд░рд┐ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрджреИ)ред

рдмреЛрдирд╕: рдЙрдк-рд╡рд░реНрдгрдорд╛рд▓рд╛ рдЙрдкрд╕рд░реНрдЧ рдЧрд░реНрджреИ 11xxxxxx рд░ рдпрд╕рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЕрдлрд╕реЗрдЯ рд╣реБрди рдЫрдиреМрдЯ рдЧрд░реНрджреИ 0xC0, рд╣рд╛рдореАрд▓реЗ CP1252 рд╕рдБрдЧ рдЖрдВрд╢рд┐рдХ рдЕрдиреБрдХреВрд▓рддрд╛ рдкрд╛рдЙрдБрдЫреМрдВред рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, CP1252 рдорд╛ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХрд╛ рдзреЗрд░реИ (рддрд░ рд╕рдмреИ рд╣реЛрдЗрди) рдкрд╢реНрдЪрд┐рдореА рдпреБрд░реЛрдкреЗрд▓реА рдкрд╛рдард╣рд░реВ UTF-C рдорд╛ рдЙрд╕реНрддреИ рджреЗрдЦрд┐рдиреЗрдЫрдиреНред

рдпрд╣рд╛рдБ, рддрдерд╛рдкрд┐, рдПрдХ рдХрдард┐рдирд╛рдИ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ: рдХрд╕рд░реА рдореБрдЦреНрдп рд╡рд░реНрдгрдорд╛рд▓рд╛рдмрд╛рдЯ рд╕рд╣рд╛рдпрдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ? рддрдкрд╛рдЗрдБ рдЙрд╣реА рдЕрдлрд╕реЗрдЯ рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ - рдЕрдлрд╕реЛрд╕ - рдпрд╣рд╛рдБ рдпреБрдирд┐рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рд╣рд╛рдореНрд░реЛ рд╡рд┐рд░реБрджреНрдз рдЦреЗрд▓рд┐рд░рд╣реЗрдХреЛ рдЫред рдкреНрд░рд╛рдпрдГ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рдореБрдЦреНрдп рднрд╛рдЧ рдмреНрд▓рдХрдХреЛ рд╕реБрд░реБрдорд╛ рд╣реБрдБрджреИрди (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд░реВрд╕реА рд░рд╛рдЬрдзрд╛рдиреА "рдП" рдХреЛрдб рдЫред 0x0410, рдпрджреНрдпрдкрд┐ рд╕рд┐рд░рд┐рд▓рд┐рдХ рдмреНрд▓рдХ рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреНрдЫ 0x0400)ред рдпрд╕рд░реА, рд╕реНрдЯреНрдпрд╛рд╕рдорд╛ рдкрд╣рд┐рд▓реЛ 64 рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рд▓рд┐рдПрд░, рд╣рд╛рдореАрд▓реЗ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рдкреБрдЪреНрдЫрд░рдорд╛ рдкрд╣реБрдБрдЪ рдЧреБрдорд╛рдЙрди рд╕рдХреНрдЫреМрдВред

рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди, рдореИрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреЗрд╣реА рдмреНрд▓рдХрд╣рд░реВ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЧрдПрдБ, рд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдореБрдЦреНрдп рдПрдХ рднрд┐рддреНрд░ рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рдЕрдлрд╕реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реЗрдВред рд▓реНрдпрд╛рдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛, рдПрдХ рдЕрдкрд╡рд╛рджрдХреЛ рд░реВрдкрдорд╛, рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ base64 рдЬрд╕реНрддреИ рдкреБрди: рдХреНрд░рдордмрджреНрдз рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ

рдЕрдиреНрддрд┐рдо рд╕реНрдкрд░реНрд╢

рдЕрдиреНрддрдорд╛ рд╣рд╛рдореА рдХрд╣рд╛рдБ рдХреЗрд╣рд┐ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рднрдиреЗрд░ рд╕реЛрдЪреМрдВред

рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдврд╛рдБрдЪрд╛ 101xxxxx xxxxxxxx xxxxxxxx рд╕рдореНрдо рдирдореНрдмрд░рд╣рд░реВ рдЗрдиреНрдХреЛрдб рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ 0x1FFFFF, рд░ рдпреБрдирд┐рдХреЛрдб рдкрд╣рд┐рд▓реЗ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫ, рдорд╛ 0x10FFFFред рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, рдЕрдиреНрддрд┐рдо рдХреЛрдб рдмрд┐рдиреНрджреБ рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░рд┐рдиреЗрдЫ 10110000 11111111 11111111ред рддреНрдпрд╕рдХрд╛рд░рдг, рд╣рд╛рдореА рднрдиреНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рдпрджрд┐ рдкрд╣рд┐рд▓реЛ рдмрд╛рдЗрдЯ рдлрд╛рд░рдордХреЛ рд╣реЛ 1011xxxx (рдХрд╣рд╛рдБ xxxx реж рднрдиреНрджрд╛ рдареБрд▓реЛ), рддрдм рдпрд╕рдХреЛ рдЕрд░реНрде рдХреЗрд╣рд┐ рдЕрд░реНрдХреИ рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдЗрдБ рддреНрдпрд╣рд╛рдБ рдЕрд░реНрдХреЛ 0 рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдердкреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬреБрди рдПрдХ рдмрд╛рдЗрдЯрдорд╛ рдЗрдиреНрдХреЛрдбрд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░рдиреНрддрд░ рдЙрдкрд▓рдмреНрдз рдЫрдиреН, рддрд░ рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдлрд░рдХ рддрд░рд┐рдХрд╛рд▓реЗ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗред

рддреА рдпреБрдирд┐рдХреЛрдб рдмреНрд▓рдХрд╣рд░реВ рд╣реЗрд░реМрдВ рдЬрд╕рд▓рд╛рдИ рдЕрдм рддреАрди рдмрд╛рдЗрдЯрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫред рдореВрд▓рддрдпрд╛, рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░, рдпреА рдЪрд┐рдирд┐рдпрд╛рдБ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рд╣реБрдиреН - рддрд░ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдХреЗрд╣рд┐ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫ, рддреНрдпрд╣рд╛рдБ 21 рд╣рдЬрд╛рд░ рдЫрдиреНред рддрд░ рд╣рд┐рд░рд╛рдЧрд╛рдирд╛ рд░ рдХрд╛рддрд╛рдХрд╛рдирд╛ рдкрдирд┐ рддреНрдпрд╣рд╛рдБ рдЙрдбреЗ - рд░ рддреНрдпрд╣рд╛рдБ рддреА рдордзреНрдпреЗ рдзреЗрд░реИ рдЫреИрдирдиреН, рджреБрдИ рд╕рдп рднрдиреНрджрд╛ рдХрдоред рд░, рд╣рд╛рдореАрд▓реЗ рдЬрд╛рдкрд╛рдиреА рд╕рдореНрдЭрдирд╛рдорд╛, рддреНрдпрд╣рд╛рдБ рдЗрдореЛрдЬреАрд╣рд░реВ рдкрдирд┐ рдЫрдиреН (рд╡рд╛рд╕реНрддрд╡рдорд╛, рддрд┐рдиреАрд╣рд░реВ рдпреБрдирд┐рдХреЛрдбрдорд╛ рдзреЗрд░реИ рдард╛рдЙрдБрд╣рд░реВрдорд╛ рдЫрд░рд┐рдПрдХрд╛ рдЫрдиреН, рддрд░ рдореБрдЦреНрдп рдмреНрд▓рдХрд╣рд░реВ рджрд╛рдпрд░рд╛рдорд╛ рдЫрдиреНред 0x1F300 - 0x1FBFF)ред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕ рддрдереНрдпрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реЛрдЪреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рдЕрдм рддреНрдпрд╣рд╛рдБ рдЗрдореЛрдЬреАрд╣рд░реВ рдЫрдиреН рдЬреБрди рдПрдХреИ рдкрдЯрдХ рдзреЗрд░реИ рдХреЛрдб рдмрд┐рдиреНрджреБрд╣рд░реВрдмрд╛рдЯ рднреЗрд▓рд╛ рд╣реБрдиреНрдЫрдиреН (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЗрдореЛрдЬреА тАНтАНтАНрдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ 7 рдХреЛрдбрд╣рд░реВ рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реБрдиреНрдЫрдиреН!), рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рддреНрдпреЗрдХрдорд╛ рддреАрди рдмрд╛рдЗрдЯрд╣рд░реВ рдЦрд░реНрдЪ рдЧрд░реНрди рдкреВрд░реНрдг рд╢рд░реНрдордХреЛ рдХреБрд░рд╛ рд╣реБрдиреНрдЫ (7 ├Ч 3 = 21 рдмрд╛рдЗрдЯрд╣рд░реВ рдПрдЙрдЯрд╛ рдкреНрд░рддрд┐рдорд╛рдХреЛ рд▓рд╛рдЧрд┐, рдПрдЙрдЯрд╛ рджреБрдГрд╕реНрд╡рдкреНрди)ред

рддрд╕рд░реНрде, рд╣рд╛рдореА рдЗрдореЛрдЬреА, рд╣рд┐рд░рд╛рдЧрд╛рдирд╛ рд░ рдХрд╛рддрд╛рдХрд╛рдирд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреЗрд╣реА рдЪрдпрди рдЧрд░рд┐рдПрдХрд╛ рджрд╛рдпрд░рд╛рд╣рд░реВ рдЪрдпрди рдЧрд░реНрдЫреМрдВ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдПрдЙрдЯрд╛ рдирд┐рд░рдиреНрддрд░ рд╕реВрдЪреАрдорд╛ рдкреБрди: рд╕рдЩреНрдЦреНрдпрд╛ рдЧрд░реНрдЫреМрдВ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рддреАрдирдХреЛ рд╕рдЯреНрдЯрд╛ рджреБрдИ рдмрд╛рдЗрдЯрдХреЛ рд░реВрдкрдорд╛ рд╕рдЩреНрдХреЗрдд рдЧрд░реНрдЫреМрдВ:

1011xxxx xxxxxxxx

рдЙрддреНрдХреГрд╖реНрдЯ: рдорд╛рдерд┐ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЗрдореЛрдЬреАрдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ, 7 рдХреЛрдб рдмрд┐рдиреНрджреБрд╣рд░реВ рдорд┐рд▓реЗрд░, UTF-8 рдорд╛ 25 рдмрд╛рдЗрдЯрд╣рд░реВ рд▓рд┐рдиреНрдЫ, рд░ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдлрд┐рдЯ рдЧрд░реНрдЫреМрдВ 14 (рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдмрд┐рдиреНрджреБрдХреЛ рд▓рд╛рдЧрд┐ рдареНрдпрд╛рдХреНрдХреИ рджреБрдИ рдмрд╛рдЗрдЯреНрд╕)ред рд╡реИрд╕реЗ, Habr рд▓реЗ рдпрд╕рд▓рд╛рдИ рдкрдЪрд╛рдЙрди рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНтАНрдпреЛ (рдкреБрд░рд╛рдиреЛ рд░ рдирдпрд╛рдБ рд╕рдореНрдкрд╛рджрдХ рджреБрдмреИрдорд╛), рддреНрдпрд╕реИрд▓реЗ рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рддрд╕реНрд╡реАрд░рдХреЛ рд╕рд╛рде рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред

рдЕрд░реНрдХреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВред рд╣рд╛рдореА рд╕рдореНрдЭрдиреНрдЫреМрдВ, рдЖрдзрд╛рд░рднреВрдд рд╡рд░реНрдгрдорд╛рд▓рд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛ рд╣реЛ рдЙрдЪреНрдЪ 6 рдмрд┐рдЯ, рдЬреБрди рд╣рд╛рдореА рджрд┐рдорд╛рдЧрдорд╛ рд░рд╛рдЦреНрдЫреМрдВ рд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрд░реНрдХреЛ рдбрд┐рдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рддреАрдХрдХреЛ рдХреЛрдбрдорд╛ рдЯрд╛рдБрд╕реНрдЫреМрдВред рдЪрд┐рдирд┐рдпрд╛рдБ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рдорд╛рдорд▓рд╛рдорд╛ рдЬреБрди рдмреНрд▓рдХрдорд╛ рдЫрдиреН 0x4E00 - 0x9FFF, рдпреЛ рдпрд╛ рдд рдмрд┐рдЯ реж рд╡рд╛ рез рд╣реЛред рдпреЛ рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫреИрди: рд╣рд╛рдореАрд▓реЗ рдпреА рджреБрдИ рдорд╛рдирд╣рд░реВ (рдЕрд░реНрдерд╛рддреН рддреАрди рдмрд╛рдЗрдЯрд╣рд░реВ рдЦрд░реНрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН) рдмреАрдЪрдХреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛рд▓рд╛рдИ рдирд┐рд░рдиреНрддрд░ рд░реВрдкрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддрд░ рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рд▓рд╛рдореЛ рдореЛрдбрдорд╛, рдХреЛрдбрдмрд╛рдЯ рдиреИ рд╣рд╛рдореАрд▓реЗ рдЫреЛрдЯреЛ рдореЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдЩреНрдХреЗрдд рдЧрд░реНрдиреЗ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдЙрди рд╕рдХреНрдЫреМрдВ (рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рдЪрд╛рд▓рд╣рд░реВ рдкрдЫрд┐, рдпреЛ 0 рд╣реЛ) - рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдЗрд░реЛрдЧреНрд▓рд┐рдлрд╣рд░реВрдХреЛ рджрд╛рдпрд░рд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫред 0x2600 - 0x77FF, рд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдпрд╕ рд╕рдореНрдкреВрд░реНрдг рджрд╛рдпрд░рд╛рдорд╛, рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг 6 рдмрд┐рдЯреНрд╕ (реирез рдордзреНрдпреЗ) реж рдХреЛ рдмрд░рд╛рдмрд░ рд╣реБрдиреЗрдЫред рдпрд╕рд░реА, рд╣рд╛рдЗрд░реЛрдЧреНрд▓рд┐рдлрдХреЛ рдЕрдиреБрдХреНрд░рдорд▓реЗ рджреБрдИ рдмрд╛рдЗрдЯрд╣рд░реВ рдкреНрд░рддрд┐ рд╣рд╛рдЗрд░реЛрдЧреНрд▓рд┐рдл (рдЬреБрди рдпрддрд┐ рдареВрд▓реЛ рджрд╛рдпрд░рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЗрд╖реНрдЯрддрдо рдЫ) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫред рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕реНрд╡рд┐рдЪрдХреЛ рдХрд╛рд░рдгред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди: SCSU, BOCU-1

рдпреБрдирд┐рдХреЛрдб рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВ, рд▓реЗрдЦрдХреЛ рд╢реАрд░реНрд╖рдХ рдкрдврд┐рд╕рдХреЗрдкрдЫрд┐, рд╕рдореНрднрд╡рддрдГ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рдореНрдЭрд╛рдЙрди рд╣рддрд╛рд░ рд╣реБрдиреЗрдЫ рдХрд┐ рдпреБрдирд┐рдХреЛрдб рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рдмреАрдЪ рд╕реАрдзрд╛ рдЫред рдпреБрдирд┐рдХреЛрдбрдХрд╛ рд▓рд╛рдЧрд┐ рдорд╛рдирдХ рд╕рдЩреНрдХреБрдЪрди рдпреЛрдЬрдирд╛ (SCSU), рдЬрд╕рд▓реЗ рд▓реЗрдЦрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛрд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдПрдиреНрдХреЛрдбрд┐рдЩ рд╡рд┐рдзрд┐рдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрджрдЫред

рдо рдЗрдорд╛рдирджрд╛рд░реАрдкреВрд░реНрд╡рдХ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдЫреБ: рдореИрд▓реЗ рдореЗрд░реЛ рдирд┐рд░реНрдгрдп рд▓реЗрдЦреНрди рдЧрд╣рд┐рд░реЛ рдбреБрдмреЗ рдкрдЫрд┐ рдорд╛рддреНрд░ рдпрд╕рдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡рдХреЛ рдмрд╛рд░реЗрдорд╛ рдерд╛рд╣рд╛ рдкрд╛рдПрдБред рдпрджрд┐ рдорд▓рд╛рдИ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реБрд░реБрджреЗрдЦрд┐ рдиреИ рдерд╛рд╣рд╛ рднрдПрдХреЛ рднрдП, рдореИрд▓реЗ рдЖрдлреНрдиреИ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рд╛рде рдЖрдЙрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓реЗрдЦреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗрдХреЛ рдерд┐рдПрдБред

рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдХреБрд░рд╛ рдХреЗ рдЫ рднрдиреЗ SCSU рд▓реЗ рдЖрдлреВрд▓реЗ рдЖрдлреИрд▓реЗ рд▓рд┐рдПрдХрд╛ рд╡рд┐рдЪрд╛рд░рд╣рд░реВрд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ ("рдЕрдХреНрд╖рд░рд╣рд░реВ" рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛рдХреЛ рд╕рдЯреНрдЯрд╛ рддрд┐рдиреАрд╣рд░реВрд▓реЗ "рд╡рд┐рдиреНрдбреЛрдЬ" рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН, рд░ рддреНрдпрд╣рд╛рдБ рдорд╕рдБрдЧ рднрдиреНрджрд╛ рдзреЗрд░реИ рдЙрдкрд▓рдмреНрдз рдЫрдиреН)ред рдПрдХреИ рд╕рдордпрдорд╛, рдпреЛ рдврд╛рдБрдЪрд╛рдорд╛ рдкрдирд┐ рдмреЗрдлрд╛рдЗрджрд╛рд╣рд░реВ рдЫрдиреН: рдпреЛ рдПрдиреНрдХреЛрдбрд┐рдЩ рднрдиреНрджрд╛ рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рджрдордХреЛ рдЕрд▓рд┐ рдирдЬрд┐рдХ рдЫред рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рдорд╛рдирдХрд▓реЗ рдзреЗрд░реИ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╡рд┐рдзрд┐рд╣рд░реВ рджрд┐рдиреНрдЫ, рддрд░ рдЗрд╖реНрдЯрддрдо рдХрд╕рд░реА рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдмрддрд╛рдЙрдБрджреИрди - рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐, рдПрдиреНрдХреЛрдбрд░рд▓реЗ рдХреЗрд╣реА рдкреНрд░рдХрд╛рд░рдХреЛ рд╣реЗрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫред рдпрд╕реИрд▓реЗ, рд░рд╛рдореНрд░реЛ рдкреНрдпрд╛рдХреЗрдЬрд┐рдЩреНрдЧ рдЙрддреНрдкрд╛рджрди рдЧрд░реНрдиреЗ SCSU рдПрдиреНрдХреЛрдбрд░ рдореЗрд░реЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рднрдиреНрджрд╛ рдмрдвреА рдЬрдЯрд┐рд▓ рд░ рдердк рдмреЛрдЭрд┐рд▓ рд╣реБрдиреЗрдЫред

рддреБрд▓рдирд╛рдХреЛ рд▓рд╛рдЧрд┐, рдореИрд▓реЗ SCSU рдХреЛ рддреБрд▓рдирд╛рддреНрдордХ рд░реВрдкрдорд╛ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди JavaScript рдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реЗрдВ - рдХреЛрдб рднреЛрд▓реНрдпреБрдордХреЛ рд╣рд┐рд╕рд╛рдмрд▓реЗ рдпреЛ рдореЗрд░реЛ UTF-C рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрди рдорд┐рд▓реНрдиреЗ рднрдпреЛ, рддрд░ рдХреЗрд╣реА рдЕрд╡рд╕реНрдерд╛рдорд╛ рдирддрд┐рдЬрд╛ рджрд╢реМрдВ рдкреНрд░рддрд┐рд╢рдд рдЦрд░рд╛рдм рдерд┐рдпреЛ (рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдпреЛ рдпреЛ рднрдиреНрджрд╛ рдмрдвреА рд╣реБрди рд╕рдХреНрдЫ, рддрд░ рдзреЗрд░реИ рд╣реЛрдЗрди)ред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд┐рдмреНрд░реВ рд░ рдЧреНрд░реАрдХ рднрд╛рд╖рд╛рдХрд╛ рдкрд╛рдард╣рд░реВ UTF-C рджреНрд╡рд╛рд░рд╛ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ SCSU рднрдиреНрджрд╛ ремреж% рд░рд╛рдореНрд░реЛ (рд╕рдореНрднрд╡рддрдГ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдЕрдХреНрд╖рд░рд╣рд░реВрдХреЛ рдХрд╛рд░рдгрд▓реЗ)ред

рдЕрд▓рдЧ рд░реВрдкрдорд╛, рдо рдердкреНрдЫреБ рдХрд┐ SCSU рдмрд╛рд╣реЗрдХ рдпреБрдирд┐рдХреЛрдбрд▓рд╛рдИ рд╕рдШрди рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрдиреЗ рдЕрд░реНрдХреЛ рддрд░рд┐рдХрд╛ рдкрдирд┐ рдЫ - BOCU-1, рддрд░ рдпрд╕рд▓реЗ MIME рдЕрдиреБрдХреВрд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд▓рдХреНрд╖реНрдп рд░рд╛рдЦреНрдЫ (рдЬреБрди рдорд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдерд┐рдПрди) рд░ рдПрдиреНрдХреЛрдбрд┐рдЩрдорд╛ рдЕрд▓рд┐ рдлрд░рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд┐рдиреНрдЫред рдореИрд▓реЗ рдпрд╕рдХреЛ рдкреНрд░рднрд╛рд╡рдХрд╛рд░рд┐рддрд╛рдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реЗрдХреЛ рдЫреИрди, рддрд░ рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдХрд┐ рдпреЛ SCSU рднрдиреНрджрд╛ рдЙрдЪреНрдЪ рд╣реБрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдЫреИрдиред

рд╕рдореНрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░рд╣рд░реВ

рдореИрд▓реЗ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реЗрдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдбрд┐рдЬрд╛рдЗрдирдХреЛ рдЖрдзрд╛рд░рдорд╛ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЫреИрди (рдпреЛ рд╕рдореНрднрд╡рддрдГ рдореЗрд░реЛ рд▓рдХреНрд╖реНрдпрд╣рд░реВ рдпреБрдирд┐рдХреЛрдб рдХрдиреНрд╕реЛрд░реНрдЯрд┐рдпрдордХрд╛ рд▓рдХреНрд╖реНрдпрд╣рд░реВрдмрд╛рдЯ рдзреЗрд░реИ рднрд┐рдиреНрди рд╣реБрдиреНрдЫрдиреН)ред рдореИрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рд╕рдХреЗрдХреЛ рдЫреБ рдХрд┐ рдпреЛ рдореБрдЦреНрдп рд░реВрдкрдорд╛ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ (рдЙрдкрд╕рд░реНрдЧрдХреЛ рд░реВрдЦрдорд╛ рдмрд╣реБрднрд╛рд╖рд┐рдХ рд╢рдмреНрджрдХреЛрд╢ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ), рд░ рдпрд╕рдХрд╛ рдХреЗрд╣реА рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдирд╣реБрди рд╕рдХреНрдЫред рддрд░ рддрдереНрдп рдпреЛ рдПрдХ рдорд╛рдирдХ рд╣реЛрдЗрди рдПрдХ рдкреНрд▓рд╕ рд╣реБрди рд╕рдХреНрдЫ - рддрдкрд╛рдИрдВ рд╕рдЬрд┐рд▓реИ рдЖрдлреНрдиреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд░реВрдк рдпрд╕рд▓рд╛рдИ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ.

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕реНрдкрд╖реНрдЯ рддрд░рд┐рдХрд╛рдорд╛ рддрдкрд╛рдИрд▓реЗ рд░рд╛рдЬреНрдпрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдмрд╛рдЯ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдХреЛрдбрд┐рдЩ рдмрдирд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рдХреЗрд╡рд▓ рдЪрд░рд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред offs, auxOffs ╨╕ is21Bit рдПрдиреНрдХреЛрдбрд░ рд░ рдбрд┐рдХреЛрдбрд░рдорд╛ред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдПрдЙрдЯреИ рд╡рд░реНрдгрдорд╛рд▓рд╛рдХреЛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рдЕрдиреБрдХреНрд░рдорд╣рд░реВ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рд░реВрдкрдорд╛ рдкреНрдпрд╛рдХ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫреИрди, рддрд░ рддреНрдпрд╣рд╛рдБ рдПрдХ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рд╣реБрдиреЗрдЫ рдХрд┐ рдЙрд╣реА рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рд╕рдзреИрдВ рдПрдЙрдЯреИ рдмрд╛рдЗрдЯрд╣рд░реВ рд╕рдВрдЧ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╕рдиреНрджрд░реНрднрдХреЛ рдкрд░реНрд╡рд╛рд╣ рдирдЧрд░реАред

рдердк рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЕрд╡рд╕реНрдерд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рдорд╛ рдЗрдиреНрдХреЛрдбрд░рд▓рд╛рдИ рдЯреЗрд▓рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд░реВрд╕реА рдкрд╛рдард╣рд░реВрдорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реНрджреИ, рд╕реБрд░реБрдорд╛ рдЗрдиреНрдХреЛрдбрд░ рд░ рдбрд┐рдХреЛрдбрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред offs = 0x0400 ╨╕ auxOffs = 0ред рдпреЛ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдореЛрдб рдХреЛ рдорд╛рдорд▓рд╛ рдорд╛ рдЕрд░реНрде рдмрдирд╛рдЙрдБрдЫред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпреЛ рдкреБрд░рд╛рдиреЛ рдЖрда-рдмрд┐рдЯ рдПрдиреНрдХреЛрдбрд┐рдЩ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рд╣реБрдиреЗрдЫ, рддрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рд╕рдмреИ рдпреБрдирд┐рдХреЛрдбрдмрд╛рдЯ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдирд╣рдЯрд╛рдИред

рдкрд╣рд┐рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдЕрд░реНрдХреЛ рдХрдордЬреЛрд░реА рдпреЛ рд╣реЛ рдХрд┐ UTF-C рдорд╛ рдПрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдареВрд▓реЛ рдкрд╛рдардорд╛ рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рдмрд╛рдЗрдЯрдХреЛ рдирдЬрд┐рдХ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдмрд╛рдЙрдиреНрдбреНрд░реА рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреЗ рдХреБрдиреИ рджреНрд░реБрдд рддрд░рд┐рдХрд╛ рдЫреИрдиред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдПрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдмрдлрд░рдмрд╛рдЯ 100 рдмрд╛рдЗрдЯрд╣рд░реВ рдЕрдиреНрддрд┐рдордорд╛ рдХрд╛рдЯреНрдиреБ рднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдХреЗрд╣реА рдЧрд░реНрди рдирд╕рдХреНрдиреЗ рдлреЛрд╣реЛрд░ рд╣реБрдиреЗ рдЦрддрд░рд╛ рд╣реБрдиреНрдЫред рдЗрдиреНрдХреЛрдбрд┐рдЩ рдмрд╣реБ-рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд▓рдЧрд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рддрд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдпрд╕рд▓рд╛рдИ рд╕рдЪреНрдпрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫред рдмрд╛рдЗрдЯ 0xBF рдкрд╣рд┐рд▓реЛ рдмрд╛рдЗрдЯрдХреЛ рд░реВрдкрдорд╛ рдХрд╣рд┐рд▓реНрдпреИ рджреЗрдЦрд╛ рдкрд░реНрджреИрди (рддрд░ рджреЛрд╕реНрд░реЛ рд╡рд╛ рддреЗрд╕реНрд░реЛ рд╣реБрди рд╕рдХреНрдЫ)ред рддрд╕рд░реНрде, рдПрдиреНрдХреЛрдбрд┐рдЩ рдЧрд░реНрджрд╛, рддрдкрд╛рдЗрдБ рдЕрдиреБрдХреНрд░рдо рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ 0xBF 0xBF 0xBF рд╣рд░реЗрдХ, рднрдиреНрдиреБрд╣реЛрд╕реН, 10 KB - рддреНрдпрд╕реЛрднрдП, рдпрджрд┐ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдмрд╛рдЙрдиреНрдбреНрд░реА рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рд╕рдорд╛рди рдорд╛рд░реНрдХрд░ рдирднреЗрдЯреЗрд╕рдореНрдо рдЪрдпрди рдЧрд░рд┐рдПрдХреЛ рдЯреБрдХреНрд░рд╛ рд╕реНрдХреНрдпрд╛рди рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рд╣реБрдиреЗрдЫред рдкрдЫрд┐рд▓реНрд▓реЛ рдкрдЫреНрдпрд╛рдЙрдБрджреИ 0xBF рдЪрд░рд┐рддреНрд░рдХреЛ рд╕реБрд░реБрд╡рд╛рдд рд╣реБрдиреЗ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЫред (рдбрд┐рдХреЛрдбрд┐рдЩ рдЧрд░реНрджрд╛, рддреАрди рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рдпреЛ рдЕрдиреБрдХреНрд░рдо, рдЕрд╡рд╢реНрдп рдкрдирд┐, рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред)

рд╕рдВрдХреНрд╖реЗрдк рдЧрд░реНрди

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпреЛ рд╕рдореНрдо рдкрдвреНрдиреБрднрдпреЛ рднрдиреЗ, рдмрдзрд╛рдИ рдЫ! рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рддрдкрд╛рдИрд▓реЗ, рдо рдЬрд╕реНрддреИ, рдпреБрдирд┐рдХреЛрдбрдХреЛ рд╕рдВрд░рдЪрдирд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗрд╣рд┐ рдирдпрд╛рдБ (рд╡рд╛ рддрдкрд╛рдИрдХреЛ рдореЗрдореЛрд░реА рддрд╛рдЬрд╛) рд╕рд┐рдХреНрдиреБрднрдПрдХреЛ рдЫред

рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ
рдбреЗрдореЛ рдкреГрд╖реНрдаред рд╣рд┐рдмреНрд░реВрдХреЛ рдЙрджрд╛рд╣рд░рдгрд▓реЗ UTF-8 рд░ SCSU рджреБрд╡реИрдорд╛ рдлрд╛рдЗрджрд╛рд╣рд░реВ рджреЗрдЦрд╛рдЙрдБрдЫред

рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЕрдиреБрд╕рдиреНрдзрд╛рдирд▓рд╛рдИ рдорд╛рдкрджрдгреНрдбрдХреЛ рдЕрддрд┐рдХреНрд░рдордг рдорд╛рдиреНрдиреБ рд╣реБрдБрджреИрдиред рдпрджреНрдпрдкрд┐, рдо рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдореЗрд░реЛ рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛рдмрд╛рдЯ рд╕рдиреНрддреБрд╖реНрдЯ рдЫреБ, рддреНрдпрд╕реИрд▓реЗ рдо рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдЦреБрд╕реА рдЫреБ рд╕рд╛рдЭреЗрджрд╛рд░реА рдЧрд░реНрдиреБрд╣реЛрд╕реН: рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ JS рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рддреМрд▓ рдорд╛рддреНрд░ 1710 рдмрд╛рдЗрдЯ рд╣реБрдиреНрдЫ (рд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдХреБрдиреИ рдирд┐рд░реНрднрд░рддрд╛ рдЫреИрди)ред рдореИрд▓реЗ рдорд╛рдерд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реЗ рдЕрдиреБрд╕рд╛рд░, рдЙрдирдХреЛ рдХрд╛рдо рдорд╛ рдкрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ рдбреЗрдореЛ рдкреГрд╖реНрда (рддреНрдпрд╣рд╛рдБ рдкрд╛рдард╣рд░реВрдХреЛ рд╕реЗрдЯ рдкрдирд┐ рдЫ рдЬрд╕рдорд╛ рдпрд╕рд▓рд╛рдИ UTF-8 рд░ SCSU рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ)ред

рдЕрдиреНрддрдорд╛, рдо рдлреЗрд░рд┐ рдПрдХ рдкрдЯрдХ UTF-C рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдХреЗрд╕рд╣рд░реВрдорд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдЧрд░реНрдиреЗрдЫреБ рдпрд╕рдХреЛ рд▓рд╛рдпрдХ рдЫреИрди:

  • рдпрджрд┐ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЗрдирд╣рд░реВ рдкрд░реНрдпрд╛рдкреНрдд рд▓рд╛рдореЛ рдЫрдиреН (100-200 рд╡рд░реНрдгрд╣рд░реВрдмрд╛рдЯ)ред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдЬрд╕реНрддреИ рдбрд┐рдлреНрд▓реЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреНрдиреБ рдкрд░реНрдЫред
  • рдпрджрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ ASCII рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛, рдЕрд░реНрдерд╛рддреН, рдпреЛ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рдПрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХрд╛ рдЕрдиреБрдХреНрд░рдорд╣рд░реВрдорд╛ ASCII рдХреЛрдбрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫреИрдирдиреН рдЬреБрди рдореВрд▓ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рдерд┐рдПрдирдиреНред рдпрджрд┐, рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ API рд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбрд╛рдЯрд╛рдмреЗрд╕рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ) рд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдПрдиреНрдХреЛрдбрд┐рдЩ рдкрд░рд┐рдгрд╛рдорд▓рд╛рдИ рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рдЕрдореВрд░реНрдд рд╕реЗрдЯрдХреЛ рд░реВрдкрдорд╛ рдкрд╛рд╕ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рд╕реНрдЯреНрд░рд┐рдЩрдХреЛ рд░реВрдкрдорд╛ рдирднрдИ рдпреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдмрд╛рдЯ рдмрдЪреНрди рд╕рдХрд┐рдиреНрдЫред рдЕрдиреНрдпрдерд╛, рддрдкрд╛рдЗрдБ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдХрдордЬреЛрд░реАрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЬреЛрдЦрд┐рдордорд╛ рд╣реБрдиреБрд╣реБрдиреНрдЫред
  • рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЪрд╛рдБрдбреИ рдПрдХ рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рдЕрдлрд╕реЗрдЯрдорд╛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рд╕реАрдорд╛рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрд╖рдо рд╣реБрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЬрдм рд░реЗрдЦрд╛рдХреЛ рдЕрдВрд╢ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реБрдиреНрдЫ)ред рдпреЛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддрд░ рд╕реБрд░реБрдмрд╛рдЯ рд▓рд╛рдЗрди рд╕реНрдХреНрдпрд╛рди рдЧрд░реЗрд░ рдорд╛рддреНрд░ (рд╡рд╛ рдЕрдШрд┐рд▓реНрд▓реЛ рдЦрдгреНрдбрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рд▓рд╛рдЧреВ рдЧрд░реЗрд░)ред
  • рдпрджрд┐ рддрдкрд╛рдИрдБрд▓реЗ рд╕реНрдЯреНрд░рд┐рдЩрдХрд╛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВрдорд╛ рддреБрд░реБрдиреНрддреИ рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ (рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХреНрд░рдордмрджреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН, рддрд┐рдиреАрд╣рд░реВрдорд╛ рд╕рдмрд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рдЦреЛрдЬреНрдиреБрд╣реЛрд╕реН, рдХрдиреНрдХреЗрдЯрдиреЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН)ред рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдбрд┐рдХреЛрдб рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рддреНрдпрд╕реИрд▓реЗ UTF-C рдпреА тАЛтАЛрдХреЗрд╕рд╣рд░реВрдорд╛ UTF-8 рднрдиреНрджрд╛ рдврд┐рд▓реЛ рд╣реБрдиреЗрдЫ (рддрд░ рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рднрдиреНрджрд╛ рдЫрд┐рдЯреЛ)ред рдЙрд╣реА рд╕реНрдЯреНрд░рд┐рдЩ рд╕рдзреИрдВ рдПрдЙрдЯреИ рддрд░рд┐рдХрд╛рд▓реЗ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рд╣реБрдирд╛рд▓реЗ, рдбрд┐рдХреЛрдбрд┐рдЩрдХреЛ рд╕рдЯреАрдХ рддреБрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди рд░ рдмрд╛рдЗрдЯ-рджреНрд╡рд╛рд░рд╛-рдмрд╛рдЗрдЯ рдЖрдзрд╛рд░рдорд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рдЕрдкрдбреЗрдЯ: рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЯреНрдпреЛрдорд┐рдЪ рддрд▓ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдорд╛ UTF-C рдХреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реАрдорд╛рд╣рд░реВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░реНрдиреЗ рдЧреНрд░рд╛рдл рдкреЛрд╕реНрдЯ рдЧрд░рд┐рдпреЛред рдпрд╕рд▓реЗ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ UTF-C рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (LZW рдХреЛ рдПрдХ рднрд┐рдиреНрдирддрд╛) рднрдиреНрджрд╛ рдмрдвреА рдХреБрд╢рд▓ рдЫ рдЬрдмрд╕рдореНрдо рдкреНрдпрд╛рдХ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдЯреНрд░рд┐рдЩ рдЫреЛрдЯреЛ рдЫред ~140 рд╡рд░реНрдгрд╣рд░реВ (рдпрджреНрдпрдкрд┐, рдо рдиреЛрдЯ рдЧрд░реНрдЫреБ рдХрд┐ рддреБрд▓рдирд╛ рдПрдХ рдкрд╛рдардорд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ; рдЕрдиреНрдп рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░рд┐рдгрд╛рдо рдлрд░рдХ рд╣реБрди рд╕рдХреНрдЫ)ред
рдЕрд░реНрдХреЛ рдмрд╛рдЗрдХ: рд╣рд╛рдореА рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ UTF-30 рднрдиреНрджрд╛ 60-8% рдмрдвреА рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫреМрдВ

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди