一、字符编码
ASCII编码127个字符,占8bit位,1byte。
GB2312编码7445个字符,包括6763和汉字和682个其他符号。(1980年)
GB18030编码27484个字符,同时收录了藏文、蒙文、维吾尔文等少数民族文字,PC必须支持,嵌入式可以例外。(2000年)
从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即相同字符编码相同,后面标准支持更多的额字符。在这些编码中,英文和中文可以统一地处理。
区分方法是高字节的最高位不为0,按照程序员的称呼,BG2312、GBK到GB18030都属于双字节字符集(BDCS)。
为了统一字符编码,国际标准化组织新出一种可以代表所有字符和符号的编码:Unicode
Unidode默认每个字符(不管中文,英文都)占2byte即16bit。
utf-8可变长字符编码,utf-8中文占3byte,英文占1byte。
python 3中默认支持utf-8
python 2中要写中文要声明字符集:“# -*- coding:utf-8 -*-”
二、字符编码转换关系:
三、用户交互程序
用户输入
1.注释单行:#
注释多行: '''开始 '''结束, 或者"""开始 """结束。
shell 脚本中单引号和双引号有区别: ‘’不会 转义 “”会转义
python中单引号和双引号作用一样。
2.格式化输出
#!/bin/bash/env python
#author liliang
name = input("name:")
age = int(input("age:"))
print(type(age))
#age = (input("age:")))
#print(type(age),type( str(age) ))
job = input("job:")
salary = input("salary:")
info = '''
------------ info of %s ----------------
Name:%s
Age:%d
Job:%s
Salary:%s
''' % (name,name,age,job,salary)
#%s是字符string %d是数字digital %f是浮点小数float
print(info)
#括号中带“”是变量,不带“”是数值
第一种方法:
第二种方法:官网建议
info2 = '''
------------ info of {_name} ----------------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
''' .format (_name=name,
_age=age,
_job=job,
_salary=salary)
print(info2)
第三种方法:
info3 = '''
-------------info of {0} ------------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info3)