python学习[第七篇] 数据类型之 字符串二

python学习[第七篇] 数据类型之 字符串二

----对应版本 Python2

术语

ASCII 美国标准信息交换码

UCS 通用字符集

UCS2 UCS的双字节编码方式

UCS4 UCS的四字节编码方式

UTF  UNICODE或者UCS的转换格式

UTF-8 8位的UTF转换格式

什么是unicode?

unicode之前用的是ascii 码,ascii是7位二进制数的方式存储在计算机内,范围是32~126.而unicode通过使用一个或多个字节来表示一个字符的方法突破了ascii的限制。可以表示超过90000个字符。

怎样使用unicode?

 python中把硬编码的字符串叫做字面上的字符串,默认所有字面上的字符串都是ascii编码,可以通过在字符串面前加一个'u'的前缀声明unicode字符串。

Unicode的函数可以把任何python的数据类型转换成一个unicode字符串。

Codec是什麽?

codec是COder/DECoder的组合的首字母组合。定义了文本跟二进制值的转换方式。unicode支持多种不同的编码方式,比方说 codec支持的四种常见的编码方式: ascii,ISO-8859,utf-8 utf-16.

utf-8可以用1~4个字节来表示其他语言的字符,CJK/East这样的东亚文字都是用3个字节来表示,少用的,特殊的或者历史遗留的字符用4个字节表示。

编码解码

编码 str.encode('utf-8')

解码 str.decode('utf-8')

 

unicode的实际应用

  • 程序中出现字符串时一定要嫁前缀 u
  • 不要用str函数 ,用unicode()替代
  • 不要用过时的string 模块,如果传给他的是非ascii码字符,会把一切搞砸
  • 不到必要时不要在程序里面编解码unicode字符。只有在写入文件或者数据库或者网络时才调用encode()函数。

python中unicode的支持

1 内建unicode函数

unicode()函数接收一个string做参数返回一个unicode字符串。

2 内建的encode decode函数

encode decode接收字符串做参数返回该字符串对应的编码解码后的字符串。支持str 和unicode.

3异常

UnicodeError

猜你喜欢

转载自www.cnblogs.com/ryanpan/p/9300417.html