python3 基本数据类型:字符串与字符串编码

字符串创建与访问

创建字符串

字符串可以使用单引号''或双引号""来表示。

只要给变量赋值一个字符串变量就创建了一个字符串。

python中没有单字符类型,单字符也是使用字符串表示。

var1 = 'Hello World!'
var2 = "Python"
var3 = 'H'

访问字符串

可以使用索引访问单个字符。

可以使用slice访问多个字符。

print(var1[0]) #H
print(var1[0:3]) #Hel
print(var1[:]) #Hello World!

字符串编码

在Python3中,所有的字符串都是Unicode字符串。

UTF-8 编码把一个 Unicode 字符根据不同的数字大小编码成 1-6 个字节,常用的英文字母被编码成 1 个字节,汉字通常是 3 个字节,只有很生僻的字符才会被编码成 4-6 个字节。 

  • 字返回指定符的ASCII码或者Unicode码:ord
  • 根据输入的ASCII码或者Unicode码返回对应的符号:chr
print(ord('')) #20013
print(ord('A'))  #65
print(chr(66))   #B
print(chr(25991)) #

在计算机内存中,统一使用 Unicode 编码,如果要在网络上传输,或者保存到磁盘上,就需要把str 变为以字节为单位的 bytes。
 bytes 类型的数据用带 b 前缀的单引号或双引号表示:

print(b'ABC') #b'ABC'

str与bytes之间的编码与解码:

  • 编码:encode
  • 解码:decode
print('ABC'.encode('ascii'))
print('中文'.encode('utf-8')) #b'\xe4\xb8\xad\xe6\x96\x87'
print('中文'.encode('ascii')) ##将会报错,ascii编码没办法表示中文

print(b'ABC'.decode('ascii')) #ABC
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')) #中文

多行书写的字符串

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。 

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

输出:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB (      )。
也可以使用换行符 [ 
 ]。

 

posted @ 2018-11-19 11:19  刘-皇叔  阅读(854)  评论(0编辑  收藏  举报