2016-11-16 6 views
0

utf-8から他のエンコーディングへの変換がどのように機能するかを理解しようとしています。utf-8をエンコーディングしてiso-8859-16にデコードする

この例では、 - 「utf-8」でエンコードし、「iso-8859-16」でデコードする文字列があります。 変換中に余分なバイトがどのように追加されるのかを理解しようとしていますか?

>>> r_post='Hello Günter' 
>>> r_post=r_post.encode('utf-8') 
>>> r_post 
b'Hello G\xc3\xbcnter' 
>>> r_post=r_post.decode('iso-8859-16') 
>>> r_post 
'Hello GĂŒnter' 

答えて

1
Hello G\xc3\xbcnter 

これは便利な強調表示「U」に使用される2つのバイトのバイト列、です。 UTF-8エンコーディングでは、文字 'ü'は2バイトのC3 BCで表されます。

これらのバイトを読み取ってISO-8859-16エンコーディングで解釈すると、 "Hello Gnextnter"という文字が表示されます。 8859-16では、バイトC3は文字「ñ」を表し、BCは文字「Œ」を表す。

さらに詳しい説明が必要な場合は、What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Textを参照してください。

+0

説明をいただきありがとうございます。非常に役に立ちました。 – user1050619

関連する問題