Je veux encoder une chaîne en unicode comme

   >>> s = 'Hello, 안녕'
   >>> u = s.encode('raw_unicode_escape')
   b'Hello, \\uc548\\ub155'
   >>> doing something
   >>> print(u)
   Hello, \uc548\ub155

Je voudrais afficher Unicode lui-même sous forme de chaîne, donc si j'écris un fichier Hello, \uc548\ub155 montre la même chose.

0
Lunar 28 févr. 2021 à 17:48

1 réponse

Meilleure réponse

Je ne suis pas sûr à 100% de ce dont vous avez besoin, voici donc quelques exemples:

Unicode Direct

>>> s = 'Hello, 안녕'
>>> print(s)
Hello, 안녕

Codes Unicode \ u

>>> s = u'Hello, \uc548\ub155'
>>> print(s)
Hello, 안녕

Unicode → ByteString

>>> u = s.encode('raw_unicode_escape')
>>> print(u)
b'Hello, \\uc548\\ub155'

ByteString → Unicode

>>> u = u.decode('unicode_escape')
>>> print(u)
Hello, 안녕

Fonction traducteur

>>> def _(unicode_text):
    return unicode_text.encode('unicode_escape')

. . .

>>> s = f'Hello, {_("안녕")}'
>>> print(s)
Hello, b'\\uc548\\ub155'
2
Austin R. Scott 2 mars 2021 à 00:22