sqlserverdecimal格式化成字符串_Python字符串和编码
⼀、ASCII编码和Unicode编码的定义
1、ASCII编码只包含⼤⼩写英⽂字母、数字和⼀些符合;
2、Unicode编码则是将所有语⾔统⼀到⼀套编码⾥⽽形成的。
⼆、ASCII编码、Unicode编码、UTF-8编码
1、ASCII编码是1个字节,⽽Unicode编码是2个字节;
2、为了节省空间,出现了把Unicode编码转化为“可变长编码”的UTF-8编码。即UTF-8编码把⼀个Unicode字符根据不同的数字⼤⼩编码成1-6个字节,常⽤的英⽂字母被编码成1个字节,汉字通常是3个字节,只有很⽣僻的字符才会被编码成4-6个字节。
三、计算机系统通⽤字符编码⼯作⽅式
1、在计算机内存中,统⼀使⽤Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
2、⽤记事本编辑的时候,从⽂件读取的UTF-8字符被转换为Unicode字符到内存⾥,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到⽂件:
3、浏览⽹页的时候,服务器会把动态⽣成的Unicode内容转换为UTF-8再传输到浏览器:
四、字符串
1、ord()函数获取字符的整数表⽰,chr()函数把编码转换为对应的字符:
2、由于Python的字符串类型是str,在内存中以Unicode表⽰,⼀个字符对应若⼲个字节。如果要在⽹络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
Python对bytes类型的数据⽤带b前缀的单引号或双引号表⽰
3、以Unicode表⽰的str通过encode()⽅法可以编码为指定的bytes;把从⽹络或磁盘上读取的bytes变为str,需要使⽤decode()⽅法。可以传⼊errors='ignore'忽略部分错误字节
b'xe4xb8xadsff'.decode('utf-8',errors='ignore')
'中'
4、len()函数可以计算str的字符数,如果换成bytes则计算字节数
5、1个中⽂字符经过UTF-8编码后通常会占⽤3个字节,⽽1个英⽂字符只占⽤1个字节。
6、为了避免乱码问题,应当始终坚持使⽤UTF-8编码对str和bytes进⾏转换。
五、格式化
1、⽤ % 实现格式化,例如:
'hello, %s' % 'world'
结果为:'hello, world'
'hi, %s, you have $%d.' % ('michael',100000)
结果为:'hi, michael, you have $100000.'
2、在字符串内部,%s表⽰⽤字符串替换,%d表⽰⽤整数替换,%f表⽰⽤浮点数替换,%x表⽰⽤⼗六进制整数替换。
3、格式化整数和浮点数还可以指定是否补0和整数与⼩数的位数:
print('%2d-%02d' % (3,1))
print('%.2f' % 3.1415926)
结果为:3-01和3.14
4、不确定需要⽤什么,%s永远起作⽤,会把任何数据类型转换为字符串;
5、如果字符串⾥⾯的%是⼀个普通字符,需要使⽤%%对其进⾏转义,例如:
'growth rate: %d %%' % 7
结果为:'growth rate: 7%'
6、format()实现格式化,⽤{0}、{1}……依次替换字符串内的占位符
'hello, {0}, 成绩提升了 {1:.1f}%'.format('⼩明', 17.125)
结果为:'hello, ⼩明, 成绩提升了 17.1%'
>数字转unicode编码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。