рдбрдореАрдЬ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдХреЛрдб

рд▓реЛрдЧреЛ
рдореИрдВ рдЦреБрдж рдбрдореА / рдмрд░реНрддрди / рдзреВрдкрджрд╛рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд░рд╕ рдореЗрдВ рдкреЛрдХреЗрдореЛрди рдЬреИрд╕реЗ рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ - рд╣рдо рдЙрди рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЕрдХреНрд╕рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╢рдВрдХреБ рд╕реЗ рднрд░рд╛ рдПрдХ рдХрдореНрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╢реНрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрд╣реБрдд рд╕рдордп рдЦреЛ рджреЗрддреЗ рд╣реИрдВред "рдпрд╣ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?" рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдбрд░рддреЗ рд╣реИрдВ рдФрд░ / рдпрд╛ рдпреВрдирд┐рдХреЛрдб рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ - рдореИрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реВрдВред


рдХреНрдпреЛрдВ?


рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХрд╛ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди, рдЬреЛ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди 2.x рдореЗрдВ)ред рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣реБрдЖ :)

рдХреЛрдбрд┐рдВрдЧ, рдЬреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдореЛрд░реА рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдкрдврд╝реЗрдВ - рд╢реВрдиреНрдп-рдЗрдХрд╛рдЗрдпреЛрдВ \ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ) рд╕рдВрдЦреНрдпрд╛, рдмреАрдЪреЗ рдФрд░ рдЕрдиреНрдп рд╕рднреА рд╡рд░реНрдгред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд╛рди рдХреЛ 0b100000 (рдмрд╛рдЗрдирд░реА рдореЗрдВ), 32 (рджрд╢рдорд▓рд╡ рдореЗрдВ), рдпрд╛ 0x20 (рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдореЗрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдПрдХ рдмрд╛рд░ рдмрд╣реБрдд рдХрдо рдореЗрдореЛрд░реА рдереА рдФрд░ рд╕рднреА рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╡рд░реНрдгреЛрдВ (рд╕рдВрдЦреНрдпрд╛рдУрдВ, рд▓реЛрдЕрд░рдХреЗрд╕ / рдЕрдкрд░рдХреЗрд╕ рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛, рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдФрд░ рддрдерд╛рдХрдерд┐рдд рдирд┐рдпрдВрддреНрд░рд┐рдд рд╡рд░реНрдг - рд╕рднреА 127 рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛рдПрдВ рдХрд┐рд╕реА рдХреЛ рджреА рдЧрдИ рдереАрдВ) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 7 рдмрд┐рдЯ рдереЗред рдЙрд╕ рд╕рдордп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдПрдХ рдерд╛ - ASCII ред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕рдордп рдмреАрддрддрд╛ рдЧрдпрд╛, рд╕рднреА рд▓реЛрдЧ рдЦреБрд╢ рдереЗ, рдФрд░ рдЬреЛ рдЦреБрд╢ рдирд╣реАрдВ рдереЗ (рдкрдврд╝реЗрдВ - рдЬрд┐рдирдХреЗ рдкрд╛рд╕ "┬й" рд╕рд╛рдЗрди рдпрд╛ рдореВрд▓ рдкрддреНрд░ "рдпреВ" рдХрд╛ рдЕрднрд╛рд╡ рдерд╛) - рдиреЗ рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд╢реЗрд╖ 128 рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рдд, рдирдП рдПрдирдХреЛрдбрд┐рдВрдЧ рдмрдирд╛рдПред рддреЛ ISO-8859-1 рдФрд░ рд╣рдорд╛рд░реЗ (рдпрд╛рдиреА рд╕рд┐рд░рд┐рд▓рд┐рдХ) cp1251 рдФрд░ KOI8 рджрд┐рдЦрд╛рдИ рджрд┐рдП ред рдЙрдирдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, 0b1 ******* (рдпрд╛рдиреА, рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 128 рд╕реЗ 255 рддрдХ) рдХреА рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдереА - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, cp1251 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ 0b11011111 рд╣рдорд╛рд░рд╛ рдореВрд▓ "I" рд╣реИ, рдЖрдИрдПрд╕рдУ рдореЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ- 8859-1 "рдЬрд░реНрдорди" рдХреЗ рд▓рд┐рдП рдЧреНрд░реАрдХ рдЬрд░реНрдорди рдПрд╕рдЬреЗрдЯ (рдореВрдирд░рд╛рдЗрдЬ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ) рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЪрд╛рд░ рдФрд░ рдмрд╕ рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдирд░рдХ-рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдИрдореЗрд▓ рдФрд░ HTML рдкреГрд╖реНрдареЛрдВ рдореЗрдВ 'рд╕рд╛рдордЧреНрд░реА-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ' рдЬреИрд╕реЗ рд╣реЗрдбрд░ рдиреЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рдмрдЪрд╛ рд▓рд┐рдпрд╛ред

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

рдореИрдВ рдЖрдкрдХреЛ рд╢рд╛рдирджрд╛рд░ рдЬреЛрдПрд▓ рд╕реНрдкреЛрд▓рд╕реНрдХреА рдХреЗ рд╕рд╛рде рд╡рд┐рд╖рдп рдкрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдирд┐рд░рдкреЗрдХреНрд╖ рдиреНрдпреВрдирддрдо рд╣рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ рдмрд┐рд▓реНрдХреБрд▓, рдпреВрдирд┐рдХреЛрдб рдФрд░ рдЪрд░рд┐рддреНрд░ рд╕реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП ред

рдмрд┐рдВрджреБ рдкрд░ рдЬрд╛рдУ!


рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдкрд╛рдпрдерди рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд░реНрдерди рд╣реИред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 3 рдореЗрдВ рд╣реА рд╕рднреА рддрд╛рд░ рдпреВрдирд┐рдХреЛрдб рд╣реЛ рдЧрдП, рдФрд░ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрдж рдХреЛ рдорд╛рд░рдирд╛ рдкрдбрд╝рд╛:

>>> with open('1.txt') as fh: s = fh.read() >>> print s  >>> parser_result = u'-' #   ,  ,     -  >>> parser_result + s 
 Traceback (most recent call last): File "<pyshell#43>", line 1, in <module> parser_result + s UnicodeDecodeError: 'ascii' codec can't decode byte 0xea in position 0: ordinal not in range(128) 

рдпрд╛ рддреЛ:
 >>> str(parser_result) 
 Traceback (most recent call last): File "<pyshell#52>", line 1, in <module> str(parser_result) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 

рдЖрдЗрдП рдЗрд╕реЗ рд╕рдордЭреЗрдВ, рд▓реЗрдХрд┐рди рдХреНрд░рдо рдореЗрдВред

рдХреЛрдИ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ HTML рдкрд╛рд░реНрд╕рд░ рдпреВрдирд┐рдХреЛрдб рдХреНрдпреЛрдВ рд▓реМрдЯ рд░рд╣рд╛ рд╣реИ? рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рджреЗрдВ, рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╣реА рд╕реМрджрд╛ рдХрд░ рд▓реВрдВрдЧрд╛! рд╣реИ рди? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдореМрдЬреВрдж рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдХреЛ (рд╢рд╛рдпрдж) рдХреБрдЫ рдПрдХрд▓-рдмрд╛рдЗрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (ISO-8859-1, cp1251 рдФрд░ рдЕрдиреНрдп рдХреЛ рд╕рд┐рдВрдЧрд▓-рдмрд╛рдЗрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд┐рд╕реА рднреА рд╡рд░реНрдг рдХреЛ рдПрдХ рдмрд╛рдЗрдЯ рдореЗрдВ рдХреВрдЯрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд░реНрдг рд╣реЛрдВ рд╡рд┐рднрд┐рдиреНрди рдПрдиреНрдХреЛрдбрд┐рдВрдЧреНрд╕ рд╕реЗ? рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдирд┐рд░реБрдкрд┐рдд рдХрд░реЗрдВ? рдирд╣реАрдВ, рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдореЗрдВ рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ "рдпреВрдирд┐рдХреЛрдб" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рддреЛ рд╣рдо рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдПред рдкрд╛рдпрдерди 2.x рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ? рдпреЗ рд╕рд┐рд░реНрдл рдмрд╛рдЗрдЯреНрд╕ рд╣реИрдВ ред рдмрд╕ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рд╣рдо рдХреБрдЫ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 >>> x = 'abcd' >>> x 'abcd' 
рджреБрднрд╛рд╖рд┐рдпрд╛ рдПрдХ рдЪрд░ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдкрд╣рд▓реЗ рдЪрд╛рд░ рдЕрдХреНрд╖рд░ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрдХреНрд░рдо
 ('a', 'b', 'c', 'd') 
рдЪрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде, рдФрд░ рдпрд╣рд╛рдБ рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдмрд╛рдЗрдЯ рдорд╛рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, 'рдП' рдпрд╣рд╛рдБ рдХреЗрд╡рд▓ '\ x61' рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рдп рд╣реИ, рдФрд░ рдХреБрдЫ рдЕрдзрд┐рдХ рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 >>> '\x61' 'a' >>> struct.unpack('>4b', x) # 'x' -    signed/unsigned char- (97, 98, 99, 100) >>> struct.unpack('>2h', x) #   short- (24930, 25444) >>> struct.unpack('>l', x) #   long (1633837924,) >>> struct.unpack('>f', x) #  float (2.6100787562286154e+20,) >>> struct.unpack('>d', x * 2) #    double- (1.2926117739473244e+161,) 

рдФрд░ рдпрд╣ рдмрд╛рдд рд╣реИ!

рдФрд░ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм - рд╣рдореЗрдВ "рдпреВрдирд┐рдХреЛрдб" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рд╣рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдмрд╛рдЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВред

рдЦреИрд░, рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ рд▓рд╛рдЗрди рдХреНрдпрд╛ рд╣реИред рдлрд┐рд░ рдкрд╛рдпрдерди рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХреНрдпрд╛ рд╣реИ?

"рдЯрд╛рдЗрдк рдпреВрдирд┐рдХреЛрдб" рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЕрдореВрд░реНрдд рд╣реИ, рдЬреЛ рдпреВрдирд┐рдХреЛрдб (рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдФрд░ рдЙрдирд╕реЗ рдЬреБрдбрд╝реА рд╕рдВрдЦреНрдпрд╛) рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред "рдпреВрдирд┐рдХреЛрдб" рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдЕрдм рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЕрдиреБрдХреНрд░рдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рдЪрд╛рд░ рдХреЗ рдЦреБрдж рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдЕрдХреНрд╖рд░ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдореЛрд░реА рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХрд╛ рдЕрдореВрд░реНрдд рд╣реИ (рдпрд╣ рд╡рд╣реА рд╣реИ рдЬрд┐рд╕реЗ рдкрд╛рдпрдерди 3 рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╣рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╛рдпрдерди 2.6 рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред

рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ?

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

 '\x61' ->  ascii ->   "a" -> u'\u0061' (unicode-point   )  '\xe0' ->  c1251 ->   "a" -> u'\u0430' 


рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ? рдЗрд╕реЗ рдПрдирдХреЛрдб рдХрд░реЗрдВ:

 >>> u'abc'.encode('ascii') 'abc' 


рдХреЛрдбрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИред

рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рднреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рдпреВрдирд┐рдХреЛрдб == рд╡рд░реНрдг, рд╕реНрдЯреНрд░рд┐рдВрдЧ == рдмрд╛рдЗрдЯреНрд╕, рдФрд░ рдмрд╛рдЗрдЯреНрд╕ -> рдХреБрдЫ рд╕рд╛рд░реНрдердХ (рд╡рд░реНрдг) рдбреА-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ (рдбрд┐рдХреЛрдб) рд╣реИ, рдФрд░ рд╡рд░реНрдг -> рдмрд╛рдЗрдЯреНрд╕ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ (рдПрдирдХреЛрдб) рд╣реИрдВред

рдПрдиреНрдХреЛрдбреЗрдб рдирд╣реАрдВ :(

рдЖрдЗрдП рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдШрдирди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЪреВрдВрдХрд┐ рджреБрднрд╛рд╖рд┐рдпрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ, рдПрд╕рд╕реАрдЖрдИрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдбреАрдХреЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдмрджрд╕реВрд░рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рд╕рд╣реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 >>> print type(parser_result), parser_result <type 'unicode'> - >>> s = '' >>> parser_result + s 
 Traceback (most recent call last): File "<pyshell#67>", line 1, in <module> parser_result + s UnicodeDecodeError: 'ascii' codec can't decode byte 0xea in position 0: ordinal not in range(128) 
 >>> parser_result + s.decode('cp1251') u'\xe1\xe0\xe1\xe0-\xff\xe3\xe0\u043a\u043e\u0449\u0435\u0439' >>> print parser_result + s.decode('cp1251') - >>> print '&'.join((parser_result, s.decode('cp1251'))) -& #   :) 


"рдпреВрдирд┐рдХреЛрдбрдбреЙрд╕реНрдЯреНрд░реЛрд░" рдЖрдо рддреМрд░ рдкрд░ рд╕рдмреВрдд рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕рд╣реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреВрдирд┐рдХреЛрдб рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдбреАрдХреЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдм str рдФрд░ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред "Str" рдФрд░ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ :) "str" тАЛтАЛрдореЗрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрд┐рд╕реА рднреА рд╡рд░реНрдг> 128 рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред "рдПрдирдХреЛрдб" рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 >>> print type(s), s <type 'unicode'>  >>> str(s) 
 Traceback (most recent call last): File "<pyshell#90>", line 1, in <module> str(s) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128) 
 >>> s = s.encode('cp1251') >>> print type(s), s <type 'str'>  


"рдпреВрдирд┐рдХреЛрдбрдПрдХреЛрдбрдХреЛрдб" рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдпрд╛ "рдПрдирдХреЛрдбреЗ" рд╡рд┐рдзрд┐ рдореЗрдВ '\' xmlcharrefreplace 'рдХреА рдЬрдЧрд╣' \ n '' xmlcharrefreplace 'рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ)ред

рдореБрдЭреЗ рдФрд░ рдЪрд╛рд╣рд┐рдП!

рдареАрдХ рд╣реИ, рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдмрд╛рдмрд╛ рдпрд╛рдЧрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 >>> parser_result = u'-' #1 >>> parser_result u'\xe1\xe0\xe1\xe0-\xff\xe3\xe0' #2 >>> print parser_result ├б├а├б├а-├┐├г├а #3 >>> print parser_result.encode('latin1') #4 - >>> print parser_result.encode('latin1').decode('cp1251') #5 - >>> print unicode('-', 'cp1251') #6 - 

рдЙрджрд╛рд╣рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рд╣реИ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ)ред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:
  1. рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ? рдмрд╛рдЗрдЯреНрд╕ рдЬреЛ IDLE рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП? рдпреВрдирд┐рдХреЛрдб, рдЕрд░реНрдерд╛рддреН рд╡рд░реНрдгред рдпрд╣ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдкрд╛рддреНрд░реЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ - рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣реИ рдирд╛? рдХреНрдпрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рд╣рдо рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реИрдВред
  2. рдпрд╣рд╛рдБ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ:
     >>> '-' '\xe1\xe0\xe1\xe0-\xff\xe3\xe0' >>> u'\u00e1\u00e0\u00e1\u00e0-\u00ff\u00e3\u00e0' == u'\xe1\xe0\xe1\xe0-\xff\xe3\xe0' True 
    рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╛рдпрдерди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреА рдкрд╕рдВрдж рд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реИ - рдмрд╛рдЗрдЯреНрд╕ рдХреЗрд╡рд▓ рдпреВрдирд┐рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ:
     >>> ord('') 224 >>> ord(u'') 224 
  3. рдХреЗрд╡рд▓ рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рд╣реИ - cp1251 рдореЗрдВ 224 рд╡рд╛рдВ рдЪрд░рд┐рддреНрд░ (рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ) рдпреВрдирд┐рдХреЛрдб рдореЗрдВ 224 рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ krakozyabra рдорд┐рд▓рддрд╛ рд╣реИред
  4. рдПрдХ рдорд╣рд┐рд▓рд╛ рдХреА рдорджрдж рдХреИрд╕реЗ рдХрд░реЗрдВ? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ 256 рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг ISO-8859-1 \ latin1 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдпрджрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрди рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдЦреБрдж рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рдерд╛ (рдЬреЛ рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ - рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ / рдпреВрдирд┐рдХреЛрдбреЛрдмрдЬреЗрдХреНрдЯ . c ) рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ "рдпреВрдирд┐рдХреЛрдб_рдХреЗрдиреЛрдб_рд╕ 1" рдХреА рддрд▓рд╛рд╢ рдореЗрдВ):
     >>> parser_result.encode('latin1') '\xe1\xe0\xe1\xe0-\xff\xe3\xe0' 
  5. рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдПрдХ рдорд╣рд┐рд▓рд╛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ? рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ:
     >>> parser_result.encode('latin1').decode('cp1251') u'\u0431\u0430\u0431\u0430-\u044f\u0433\u0430' 
  6. рдмрд┐рдВрджреБ # 5 рд╕реЗ рд╡рд┐рдзрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрддрдиреА рдЧрд░реНрдо рдирд╣реАрдВ рд╣реИ, рдмрд┐рд▓реНрдЯ-рдЗрди рдпреВрдирд┐рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, "рдпреВ" рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЧреИрд░-рдПрд╕рд╕реАрдЖрдИ рдЕрдХреНрд╖рд░ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рдпрдерди "# - * - рдХреЛрдбрд┐рдВрдЧ: - * -" ( рдкреАрдИрдкреА 0263 ) рдЬреИрд╕реЗ рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЬреЛрд░ рджреЗрдЧрд╛, рдФрд░ рдпреВрдирд┐рдХреЛрдб рддрд╛рд░ рд╕рд╣реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рд░рд┐рд▓рд┐рдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдпреВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рднреА рд╣реИ, рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдпрд╛ рдЕрдкрдардиреАрдп рдпреВрдирд┐рдХреЛрдб рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛рдиреА, "рдпреВ '\ u1234'")ред рд╡рд┐рдзрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпреВрдирд┐рдХреЛрдб рдЗрдХрд╛рдИ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ:

 >>> s = u'\N{CYRILLIC SMALL LETTER KA}\N{CYRILLIC SMALL LETTER O}\N{CYRILLIC SMALL LETTER SHCHA}\N{CYRILLIC SMALL LETTER IE}\N{CYRILLIC SMALL LETTER SHORT I}' >>> print s  


рдЦреИрд░, рд╕рдм рдХреБрдЫ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЦреНрдп рдпреБрдХреНрддрд┐рдпрд╛рдВ "рдПрдирдХреЛрдб" \ "рдбрд┐рдХреЛрдб" рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрд╛рдЗрдЯреНрд╕ рдФрд░ рд╡рд░реНрдгреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИрдВред

рдЕрдЬрдЧрд░ рей

рдХреЛрдИ рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред рдкреНрд░рддреНрдпрдХреНрд╖рджрд░реНрд╢рд┐рдпреЛрдВ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рд╣реИред рдЬреЛ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдХреЗ рдпрд╣рд╛рдБ (рдкрд╛рдпрдерди 2.x) рдФрд░ рд╡рд╣рд╛рдБ (рдкрд╛рдпрдерди 3.x) рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ - рд╕рдореНрдорд╛рди рдФрд░ рд╕рдореНрдорд╛рдиред

рдЙрдкрдпреЛрдЧреА


рдЪреВрдВрдХрд┐ рд╣рдо рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдРрд╕реЗ рд╕рдВрд╕рд╛рдзрди рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ krakozyabra рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ - http://2cyr.com/decode/?lang=en ред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд╕реНрдкреЙрд▓реНрд╕реНрдХреА рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ - рдкреВрд░реНрдг рдиреНрдпреВрдирддрдо рд╣рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ рдмрд┐рд▓реНрдХреБрд▓, рдпреВрдирд┐рдХреЛрдб рдФрд░ рдЪрд░рд┐рддреНрд░ рд╕реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП ред

рдпреВрдирд┐рдХреЛрдб HOWTO рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ рдХрд┐ рдХрд╣рд╛рдВ, рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдкрд╛рдЗрдХреЙрди рдореЗрдВ рдпреВрдирд┐рдХреЛрдб 2.xред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдирд┐рдЬреА рддреМрд░ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

PS рдиреЗ рд╕реНрдкреЛрд▓рд╕реНрдХреА рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рдлреЗрдВрдХ рджрд┐рдпрд╛ - рдирд┐рд░рдкреЗрдХреНрд╖ рдиреНрдпреВрдирддрдо, рдЬрд┐рд╕реЗ рд╣рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпреВрдирд┐рдХреЛрдб рдФрд░ рдХреИрд░реЗрдХреНрдЯрд░ рд╕реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП ред

Source: https://habr.com/ru/post/In135913/


All Articles