GVKun编程网logo

如何在python级别将unicode转换为字符串?(python将unicode转化为字符串)

20

如果您想了解如何在python级别将unicode转换为字符串?和python将unicode转化为字符串的知识,那么本篇文章将是您的不二之选。我们将深入剖析如何在python级别将unicode转换

如果您想了解如何在python级别将unicode转换为字符串?python将unicode转化为字符串的知识,那么本篇文章将是您的不二之选。我们将深入剖析如何在python级别将unicode转换为字符串?的各个方面,并为您解答python将unicode转化为字符串的疑在这篇文章中,我们将为您介绍如何在python级别将unicode转换为字符串?的相关知识,同时也会详细的解释python将unicode转化为字符串的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

如何在python级别将unicode转换为字符串?(python将unicode转化为字符串)

如何在python级别将unicode转换为字符串?(python将unicode转化为字符串)

如果明确定义,以下unicode和字符串可以单独存在:

>>> value_str=''Andr\xc3\xa9''>>> value_uni=u''Andr\xc3\xa9''

如果只u''Andr\xc3\xa9''分配了上述变量,如何''Andr\xc3\xa9''在Python 2.5或2.6中将其转换为?

编辑:

我做了以下事情:

>>> value_uni.encode(''latin-1'')''Andr\xc3\xa9''

解决了我的问题。有人可以向我解释到底发生了什么吗?

答案1

小编典典

您似乎混淆了编码。看来您真正想要的u''Andr\xe9''是等效于''André''

但是您似乎是被错误解码的UTF-8编码。您可以通过将unicode字符串转换为普通字符串来解决此问题。我不确定最好的方法是什么,但这似乎可行:

>>> ''''.join(chr(ord(c)) for c in u''Andr\xc3\xa9'')''Andr\xc3\xa9''

然后正确解码:

>>> ''''.join(chr(ord(c)) for c in u''Andr\xc3\xa9'').decode(''utf8'')u''Andr\xe9''

现在它的格式正确。

但是,除了这样做,如果可能的话,您应该尝试弄清楚为什么数据首先被错误地编码,然后在那里解决该问题。

Python2.X如何将Unicode中文字符串转换成 string字符串

Python2.X如何将Unicode中文字符串转换成 string字符串

Python2.X如何将Unicode中文字符串转换成 string字符串

 

普通字符串可以用多种方式编码成Unicode字符串,具体要看你究竟选择了哪种编码:
unicodestring = u"Hello world" 
# 将Unicode转化为普通Python字符串:"encode"  
utf8string = unicodestring.encode("utf-8")  
asciistring = unicodestring.encode("ascii")  
isostring = unicodestring.encode("ISO-8859-1")  
utf16string = unicodestring.encode("utf-16")  
# 将普通Python字符串转化为Unicode:"decode"  
plainstring1 = unicode(utf8string, "utf-8")  
plainstring2 = unicode(asciistring, "ascii")  
plainstring3 = unicode(isostring, "ISO-8859-1")  
plainstring4 = unicode(utf16string, "utf-16")  
assert plainstring1 == plainstring2 == plainstring3 == plainstring4

Python3将Unicode字符串转换为int表示形式

Python3将Unicode字符串转换为int表示形式

众所周知,计算机可以处理数字。我现在正在输入此文本,服务器从中输入一个数字,当您要阅读该文本时,将从服务器中获取文本。

我怎么能自己做?

我想用自己的算法加密某些东西,而我的算法可以很好地处理整数,但是现在我想加密一个字符串,而且我不知道如何将Unicode字符串转换为整数,反之亦然。

我正在使用Python3。有人知道我的问题的解决方案吗?

答案1

小编典典

您正在寻找的ord()功能,我认为:

>>> ord(''a'')97>>> ord(''\u00c2'')192

这为您提供了Unicode代码点的整数。

要转换整个字符集,请使用列表推导:

>>> [ord(c) for c in ''Hello World!''][72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]

它的倒数就是chr()功能:

>>> chr(97)''a''>>> chr(193)''Á''

请注意,在加密最终解密文本时, 通常会将 文本编码为带有
字符编码
的二进制表示形式。Unicode文本可以使用具有不同优点和缺点的不同编码进行编码。这些天来,最普遍使用的Unicode文本UTF-8编码,但也有一些。

在Python
3中,二进制数据表示在bytes对象中,您可以使用str.encode()方法将文本编码为字节,然后使用进行返回bytes.decode()

>>> ''Hello World!''.encode(''utf8'')b''Hello World!''>>> b''Hello World!''.decode(''utf8'')''Hello World!''

bytes 值实际上只是序列,如列表,元组和字符串,但由0-255之间的整数组成:

>>> list(''Hello World!''.encode(''utf8''))[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]

就个人而言,在加密时,您希望对结果字节进行编码和加密。

如果这一切似乎不堪重负或难以理解,那么有关Unicode和字符编码的这些文章可能会有所帮助:

  • 每个开发人员需要了解的Unicode知识
  • 内德·巴切尔德的实用Unicode
  • Python的Unicode HOWTO

Python字符串转换为unicode

Python字符串转换为unicode

我有一个包含unicode字符\u2026等的字符串,以某种方式不被我接收unicode,但被作为接收str。如何将其转换回unicode?

>>> a="Hello\u2026">>> b=u"Hello\u2026">>> print aHello\u2026>>> print bHello…>>> print unicode(a)Hello\u2026>>>

显然unicode(a)不是答案。那是什么

答案1

小编典典

Unicode转义仅适用于unicode字符串,因此

 a="\u2026"

实际上是由6个字符组成的字符串:“ \”,“ u”,“ 2”,“ 0”,“ 2”,“ 6”。

要从中制作出unicode,请使用decode(''unicode-escape'')

a="\u2026"print repr(a)print repr(a.decode(''unicode-escape''))## ''\\u2026''## u''\u2026''

Python:将Unicode-Hex-String转换为Unicode

Python:将Unicode-Hex-String转换为Unicode

我有一个由具有该函数的unicode字符串构成的十六进制字符串:

def toHex(s):
    res = ""
    for c in s:
        res += "%02X" % ord(c) #at least 2 hex digits,can be more
    return res

hex_str = toHex(u"...")

这将返回一个像这样的字符串:

"80547CFB4EBA5DF15B585728"

这是一个由6个中国符号组成的序列.

u"Knödel"

转换为

"4B6EF664656C"

我现在需要的是将其转换回原始unicode的功能.中文符号似乎具有2字节表示,而第二个示例具有所有字符的1字节表示.所以我不能只为每个1或2字节块使用unichr().

我已经试过了

binascii.unhexlify(hex_str)

但这似乎逐字节转换并返回一个字符串,而不是unicode.我也试过了

binascii.unhexlify(hex_str).decode(...)

不同的格式.从来没有得到原始的unicode字符串.

非常感谢你提前!

最佳答案
这似乎工作得很好:

binascii.unhexlify(binascii.hexlify(u"Knödel".encode('utf-8'))).decode('utf-8')

回到原始对象.如果正确编码,您可以对中文文本执行相同操作,但是ord(x)已经破坏了您开始的文本.您需要先对其进行编码,然后再将其视为一串字节.

关于如何在python级别将unicode转换为字符串?python将unicode转化为字符串的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Python2.X如何将Unicode中文字符串转换成 string字符串、Python3将Unicode字符串转换为int表示形式、Python字符串转换为unicode、Python:将Unicode-Hex-String转换为Unicode等相关知识的信息别忘了在本站进行查找喔。

本文标签: