Python Unicode 系统
Python Unicode 系统
软件应用通常需要以多种语言显示输出信息,如英语,法语,日语,希伯来语或印地语。Python?的字符串类型使用 Unicode 标准表示字符。这使得程序能够处理所有这些不同的字符。
字符是文本的最小可能组成部分。’A’,’B’,’C’ 等是不同的字符。’è’ 和 ‘í’ 也是。
根据 Unicode 标准,字符由代码点表示。代码点值是一个在 0 到 0x10FFFF 范围内的整数。
代码点序列在内存中表示为一组映射到8位字节的代码单元。将 Unicode 字符串转换为字节序列的规则称为字符编码。
有三种编码类型,UTF-8、UTF-16 和 UTF-32。UTF 代表?Unicode 转换格式?。
Python?3.0 版以后内置支持 Unicode。字符串类型?str?包含 Unicode 字符,因此使用单引号,双引号或三引号的字符串语法创建的任何字符串都以 Unicode 存储。Python 源代码的默认编码是 UTF-8。
因此,字符串可以包含 Unicode 字符的文字表示 (?) 或其 Unicode 值 (\u00BE)。
var = "??"
print (var)
var = "\u00BE"
print (var)
Python
这段代码将会产生以下?输出??
'??'
??
Python
在下面的示例中,字符串’10’使用Unicode值1和0(分别是\u0031和\u0030)进行存储。
var = "\u0031\u0030"
print (var)
Python
它将产生以下?输出?-
10
Python
字符串以人类可读的格式显示文本,而字节将字符作为二进制数据存储。编码将数据从字符串转换为一系列字节。解码将字节转换回可读的字符和符号。重要的是不要混淆这两种方法。encode是一个字符串方法,而decode是Python字节对象的方法。
在以下示例中,我们有一个由ASCII字符组成的字符串变量。ASCII是Unicode字符集的子集。使用encode()方法将其转换为字节对象。
string = "Hello"
tobytes = string.encode('utf-8')
print (tobytes)
string = tobytes.decode('utf-8')
print (string)
Python
The decode()方法将字节对象重新转换为字符串对象。使用的编码方法是utf-8。
b'Hello'
Hello
Python
在下面的示例中,卢比符号(?)使用其Unicode值存储在变量中。我们将字符串转换为字节,然后再转换回字符串。
string = "\u20B9"
print (string)
tobytes = string.encode('utf-8')
print (tobytes)
string = tobytes.decode('utf-8')
print (string)
Python
当你执行以上代码时,它将产生以下的输出。
a?1
b'\xe2\x82\xb9'
a
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!