博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中文问题汇总
阅读量:6463 次
发布时间:2019-06-23

本文共 883 字,大约阅读时间需要 2 分钟。

1、中文路径

#-*-coding:utf-8-*-path=ur'E:\accumulate\Python\语法\08输入和输出\1.txt'#python内部使用的是unicode,不加前缀u则为utf-8类型
 

 2、python中的编码与解码

在python中有两种字符串类型,分别是str和unicode,他们都是basestring的派生 类;str类型是一个包含Characters represent (at least) 8-bit bytes的序列;unicode的每个unit是一个unicode obj;所以:len(u'中国')的值是2;len('ab')的值也是2;

  如果想把一个str转换成特定编码类型,需要把str转为 Unicode,然后从unicode转为特定的编码类型如:utf-8、gb2312等;

#coding=utf-8s_u = u'中国'     #u表示s为unicode类型s = '中国'        #因为标志了coding=utf-8,所以s为utf-8格式的。#1、utf-8==>unicodeassert(unicode(s,'utf-8')==s_u)#equalassert(s.decode('utf-8')==s_u)#2、utf-8==>gb2312,先utf-8 ==>unicode 然后unicode转换为gb2312print s.decode('utf-8').encode('gb2312')#如果直接s.encode('gb2312')会报错,因为s会被默认解码为unicode,而解码方式依据sys.getdefaultencoding()import sysprint sys.getdefaultencoding() #一般为ascii
注:字符串前缀u在python3.x中被取消了,即所有字符串默认为unicode,因此可以直接将字符串转换为特定的字符集。

 

转载于:https://www.cnblogs.com/zhizouxiao/p/3162579.html

你可能感兴趣的文章
LRU Cache
查看>>
iOS nsstring 截取字符前后字符串
查看>>
自己动手写RTP服务器——用RTP协议传输TS流
查看>>
ruby关于require路径
查看>>
CSS魔法堂:Reset CSS
查看>>
【转】每天一个linux命令(20):find命令之exec
查看>>
MinGW 介绍
查看>>
第52周五迟到
查看>>
ZOJ 1649:Rescue(BFS)
查看>>
理清Processor, Processor Sockets, Processor Cores, Logical Processors, Hyperthreading这些概念吧...
查看>>
asp.net(c#)GridView实现鼠标悬停高亮显示
查看>>
AsyncTask的用法
查看>>
android 开发edittext获取焦点时hint消失
查看>>
POJ1995:Raising Modulo Numbers(快速幂取余)
查看>>
DirectoryEntry配置IIS7出现ADSI Error:未知错误(0x80005000) [转]
查看>>
mac os 10.10上安装my eclipse显示virtual memory不足,解决方案
查看>>
【BZOJ】3834: [Poi2014]Solar Panels
查看>>
解决SQL订阅过程中找不到已经创建的订阅
查看>>
inotifywait实现目录监控
查看>>
三星GT-S7572换屏幕教程
查看>>