字符与编码

01 字符串本质

Python字符串相关概念

字符串     str

字节       bytes

字节数组   bytearray

电脑字符串存储机制

字符库:A、B每个字符有一个代码点如A是65  B为66,这种是方便人类读写的形式,但是最终需要存入计算机的CPU和内存,需要转换成字节的二进制,就涉及到字节的编码。

字节的编码:如A的字节编码为b开头的b‘A’,对应的二进制为0100 0001(激素65的二进制编码)

因为ASCII编码比较简单,直接把代码点当成二进制编码来存储

将字符转换为字节的过程我们称为编码,反之称为解码;如我们最常见的ASCII编码就是负责编码和解码的工作

但是后来各个国家都有字节的字符集,就出现了很多字符集合字符编码。

不同编码并存的解决办法,就是unicode,但是这个长度固定,有点浪费空间。现在比较流行的就是utf8是可变字节即可变长的编码

02 ASCII UTF8编码

ASCII:用于常见英文字符,存在一个Byte中,0-127(即代码点)

Python插件ASCII代码点和字符互查的函数

UTF-8最通用

03 字节与文本的编码 解码

字符编码为字节

例子:

s1位字符,

使用encode(‘指定编码’)编码为字节,

其中b开头意思为字节

中文用ASCII无法编码,需要用UTF8进行编码

字节解码为字符

例子

B1位字节码

利用decode(‘指定编码’)进行解码

Python的编码和解码不指定的话,默认为UTF8

Python的文件操作如果不指定编码,默认以GBK操作(以操作系统编码为准),所以文本操作建议指定编码

04 bytes str bytesarray之间互相转换

在内存表现的永远是字符串,存储或运算过程中总以字节形式存在

001字符到字节

(1)利用字符的方法encode

(2)文本形式以二进制进行读取

(3)利用字节的bytes方法——字节大小不能超过256

002 字节到字符

003 字节数组bytearray

形式

(1)字符s1存入字节数组中,利用bytearray(字符串,编码)

(2)字节数组可以通过下标取值  可以改变值

(3)支持很多列表的很多方法

Append的值大小不能超过256

(4)字节数组转换为字符

05 字符串BOM处理

BOM字节顺序标记

有一个文件data.txt

打开读取内容,想忽略字节顺序标记

字节写入文件,写入字节顺序标记

转载于:https://www.cnblogs.com/yijiexi/p/11140657.html

29 Python - 字符与编码相关推荐

  1. python 字符的编码

    参考 廖雪峰-字符串和编码 https://blog.csdn.net/weixin_41789688/article/details/116787795 Unicode编码详解(一):Unicode ...

  2. python 字符的编码和解码

    什么是编码 编码是信息从一种形式或格式转换为另一种形式的过程.例如,将字符A使用ascll编码,首先在ascll中找到字符A对应的一个数字,再将该数字转化为二进制形式,供计算机读取.而不同的编码方式中 ...

  3. Python字符编码详解

    Python字符编码详解 转自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html Python字符编码详解 本文简单介绍了各种常用的 ...

  4. python 字符编码问题

    字符编码 一.字符编码的演进 ASCII GB2312    GBK1.0    GB18030 Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言.跨平台 ...

  5. python字符编码是什么_python3字符编码是什么?怎么用?

    最近一直讲的是python基础方面的知识,小编一直在考虑要不要加大难度.这个问题犹豫了很久,怕一些python小白不能很好的接受知识点.但是最近小编收到不少小伙伴的强烈要求,想要学习编码这个模块的知识 ...

  6. python字符编码讲解_python 字符编码讲解

    ASCII控制字符  Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...

  7. python 字符编码

    一.计算机简单说明 # 计算机的主要组成部分:cpu, 内存, 硬盘 # cpu :中央处理器,所有的操作都需要cpu完成 # 内存:运行数据的存储地址,关机数据即丢失 # 硬盘 :用于数据存储,关机 ...

  8. 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...

    原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ...

  9. 深入理解Python字符编码--转

    http://blog.51cto.com/9478652/2057896 不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError ...

最新文章

  1. python画蝴蝶_python画蝴蝶曲线图的实例
  2. POJ 3087 Shuffle'm Up DFS
  3. 来说一说你对锁都怎么分类?
  4. LiveVideoStack线上分享第四季(二):基于内容的自适应视频传输算法及其应用...
  5. 直观理解神经网络和梯度下降
  6. oracle 授权 增删改查权限_Oracle增删改查与函数
  7. MlLib--逻辑回归笔记
  8. python如何对一个属性或方法进行封装_python 类、对象、方法、属性
  9. DOMJavaScript示例练习
  10. AJAX使用技巧:如何处理书签和翻页按扭
  11. nio2 java_java nio2
  12. 创新创业名词解释_(完整word版)“大众创业万众创新”相关名词解释总汇
  13. 交互式电子杂志_XFlip Enterprise(电子杂志相册制作器)
  14. 视频教程-产品原型图设计Axure教程-Axure
  15. 复杂性,科学,方法论?
  16. 有关java.lang.ClassNotFoundException报错的总结
  17. 服务器每个月维护要1000元,5月24日服务器例行维护公告(已完成)
  18. YYLabel的若干个疑问持续更新
  19. 什么是scrum敏捷项目管理
  20. 给大家推荐一款好用的背单词APP(目前只支持苹果手机)

热门文章

  1. SpringBoot返回json和xml
  2. 欧拉路HDU3018
  3. uvalive 4973 Ardenia
  4. 定义jQuery插件
  5. C# 调用 Microsoft.VisualBasic.Collection
  6. docker命令及挂载
  7. oracle的连接字符串
  8. Android Coding利器之掌握小技巧,助你Coding更上一层楼~
  9. MySQL 的实时性能监控利器
  10. AngularJS 事件