编码和字符串

Posted always on the way

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编码和字符串相关的知识,希望对你有一定的参考价值。

(1)编码
ASCII码,一共有127个字符,中国制定了GB2312编码,把中文编进去;
Unicode把所有语言统一到一套编码里,ASCII码是1个字节,而Unicode通常是2个字节;
UTF-8编码,把Unicode编码转化为“可变长编码”;
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码;
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器;
为了避免乱码问题,应坚持始终使用UTF-8编码;在文件头部添加 # _*_ coding:utf-8 _*_
Python会忽略这句代码,但是它却可以作为“黑客”或者解决问题的方法来制定文件的格式。

(2)字符串
python的字符串类型:str,在内存中以Unicode表示,strVar=‘ABC‘,bStrVar=strVar.encode(‘utf-8‘)
在网络传输或保存磁盘的时候,把str变为以字节为单位的bytes,bytesVar=b‘ABC‘,strBytesVar=bytesVar.decode(‘utf-8‘)
str的len()计算的是字符数,bytes的len()计算的是字节数;

格式化输出
‘Hi,%s,you have $%d.‘ %(‘xyl‘,10000) # ‘Hi,xyl,you have $10000.‘
‘Hi,{0},you have ${1}.‘.format(‘xyl‘,10000) # ‘Hi,xyl,you have $10000.‘
"Hi,%s,i said %r." %(‘xyl‘,‘are you ok?‘) # "Hi,xyl,i said ‘are you ok?‘ "
%r给字符串加了单引号;%r打印时能够重现它所代表的对象
d=datetime.date.today()
print("%r" %d) #datetime.date(2018, 1, 14)

输入:python2:raw_input()
python3:input()

python -m pydoc -b # 回去自动启动一个web server,同事启动浏览器展示帮助系统
-m:查看module在当前的可见的搜索路径上
-b:启动的是浏览器
python -m pydoc input # 查看input的说明

以上是关于编码和字符串的主要内容,如果未能解决你的问题,请参考以下文章

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

《安富莱嵌入式周报》第279期:强劲的代码片段搜索工具,卡内基梅隆大学安全可靠C编码标准,Nordic发布双频WiFi6 nRF7002芯片

Sublime Text自定制代码片段(Code Snippets)

使用非utf-8编码在Python中解析XML

InputStream的三个read的区别

以下代码片段 C++ 的说明