  "bytestrings") that are encoded using UTF-8.
  
  .. versionchanged:: 1.5
  
  In Python 3, the logic is reversed, that is normal strings are Unicode, and
  when you want to specifically create a bytestring, you have to prefix the
  string with a 'b'. As we are doing in Django code from version 1.5,
  we recommend that you import ``unicode_literals`` from the __future__ library
  in your code. Then, when you specifically want to create a bytestring literal,
  prefix the string with 'b'.
  
  Python 2 legacy::
  
      my_string = "This is a bytestring"
      my_unicode = u"This is an Unicode string"
 
</s> remove Python 2 legacy::
 </s> add     Python 2 legacy:: </s> remove     my_string = "This is a bytestring"
    my_unicode = u"This is an Unicode string"
 </s> add         my_string = "This is a bytestring"
        my_unicode = u"This is an Unicode string" </s> remove Python 2 with unicode literals or Python 3::
 </s> add     Python 2 with unicode literals or Python 3:: </s> remove     from __future__ import unicode_literals
 </s> add         from __future__ import unicode_literals </s> remove     my_string = b"This is a bytestring"
    my_unicode = "This is an Unicode string"
 </s> add         my_string = b"This is a bytestring"
        my_unicode = "This is an Unicode string"
    In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
  "bytestrings") that are encoded using UTF-8.
  
  .. versionchanged:: 1.5
  
    In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
    In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
    In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
    In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
    In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
    In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
  
  Python 2 legacy::
  
      my_string = "This is a bytestring"
      my_unicode = u"This is an Unicode string"
keep keep keep keep replace replace replace replace replace replace keep keep keep keep keep
 Adapted uses of versionchanged/versionadded to the new form.

Refs #20104. 
docs/ref/unicode.txt